Reputation: 429
Can I use __autoload
function on class that after to include file (class)?
I tried this only outside of class. So, I loop array with names of classes and try to include them.
Upvotes: 0
Views: 27
Reputation: 492
Whilst the __autoload() function can also be used for autoloading classes and interfaces, its preferred to use the spl_autoload_register() function. This is because it is a more flexible alternative (enabling for any number of autoloaders to be specified in the application, such as in third party libraries). For this reason, using __autoload() is discouraged and it may be deprecated in the future.
Autoloading is not available if using PHP in CLI interactive mode.
Saying above you can still do it as shown below:
<?php
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
});
// example
$pet = new Dog(); // this class will be auto loaded from file Dog.php.
Upvotes: 1