Search code examples
phpspl-autoload-register

php class autoloader in the class constructor


My class autoloader doesn't work in the class constructor.

public function __construct($place = 'site') {

    define('PLACE', $place);

    $source = ($place == 'site') ? PATH_SITE : PATH_ADMINISTRATOR;

    spl_autoload_register(function ($class) {

        // Load classes here dependent on the place location

    });
}

How can I solve this?


Solution

  • I assume that you need to use $source inside autoload function. You need to add use.

    spl_autoload_register(function ($class)use($source) {
    
        // Load classes here dependent on the place location
    
    });
    

    Examples from manual: http://php.net/manual/en/functions.anonymous.php#example-195