spl_autoload_register

spl_autoload_register('定义的加载这些不存在的类文件的函数', true, true);

class AutoloadClass1{

    public function __construct()
    {
        echo '你已经包含我这个类了';
    }
}

//文件autoloadDemo.php文件
spl_autoload_register('myAutoLoad', true, true);
function myAutoLoad($className){

    echo $className;
    echo "我来加载这些类文件!
"; require $class.'.php'

}
//当AutoloadClass1或者AutoloadClass1不存在时执行myAutoLoad这个函数
$objDemo = new AutoloadClass1();
$objDemo = new AutoloadClass1();

例子2

class AutoloadClass1{

    public function __construct()
    {
        echo '你已经包含我AutoloadClass1这个类了';
    }
}


spl_autoload_register(function ($class) {
    echo 888888;
    echo $class;//此参数为实例的不存在的这个类文件的类名
    echo 888888;
    echo "我来加载这些类文件!
";  
    //include $class . '.class.php';
});


$objDemo = new AutoloadClass1();
$objDemo = new AutoloadClass2();

例子3:

class AutoloadClass1{

    public function __construct()
    {
        echo '你已经包含我AutoloadClass1这个类了';
    }
}


class AutoLoadFile{

    public static function loadClassLoader($class)
    {
        echo 888888;
        echo $class;//此参数为实例的不存在的这个类文件的类名
        echo 888888;
        echo "我来加载这些类文件!
";  

    // require $class.'.php' }
public static function getLoader(){ spl_autoload_register(array('AutoLoadFile', 'loadClassLoader'), true, true); } } AutoLoadFile::getLoader(); $objDemo = new AutoloadClass1(); $objDemo = new AutoloadClass2(); //输出: // 你已经包含我AutoloadClass1这个类了 // 888888 // AutoloadClass2 // 888888 // 我来加载这些类文件! // Fatal error: Class 'AutoloadClass2' not found in D:phpStudyWWWdemotestindex.php on line 33
原文地址:https://www.cnblogs.com/lichihua/p/10351964.html