Huligan
Huligan

Reputation: 429

Can I use __autoload in class?

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

Answers (1)

Perdeep Singh
Perdeep Singh

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

Related Questions