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.

22 lines
770 B

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