You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
770 B

<?php
/*
* 自动加载的机制是,
* 当一个类new实例化时,若在当前文件找不到这个类,包括include的文件里也找不到这个类
* 就会触发sql_autoload_register,
* sql_autoload_register里执行include_once去包含以这个与类名命名的文件
* 所以类文件的名称需要与类名相同
*/
spl_autoload_register
(
function($className)
{
include_once("./{$className}.php");
}
);
$obj = new classA(); //因为classA在autoload.php中未定义,当new时,会自动调用spl_autoload_register函数,并且传递类名
echo $obj->str.PHP_EOL;
$obj2 = new classB();
echo $obj2->str.PHP_EOL; //找不到文件./classB.php
?>