php自动加载

来源:互联网 发布:淘宝店铺管理工具 编辑:程序博客网 时间:2024/06/06 11:46

1.spl_autoload_register();

当加载一个接口时

spl_autoload_register(function ($name) {
    
var_dump($name);
});

class 
Foo implements ITest {
}

/*
string(5) "ITest"

Fatal error: Interface 'ITest' not found in ...
*/

2.spl_autoload_register(function ($name) {
    echo 
"Want to load $name.\n";
    throw new 
Exception("Unable to load $name.");//抛出异常
});

try {
    
$obj = new NonLoadableClass();
} catch (
Exception $e) {
    echo 
$e->getMessage(), "\n";//接收异常
}

Want to load NonLoadableClass.Unable to load NonLoadableClass.
3.spl_autoload_register(function ($name) {    echo "Want to load $name.\n";    throw new MissingException("Unable to load $name.");//此处为自定义异常处理函数});try {    $obj = new NonLoadableClass();} catch (Exception $e) {    echo $e->getMessage(), "\n";}
Want to load NonLoadableClass.//这是第一次调用自动加载器Want to load MissingException.//这是第二次调用自动加载器(递归的调用自动加载器)

0 0