自动加载类

使用 spl_autoload_register() 来注册你的自动加载函数。

PHP 提供了若干方式来自动加载包含还未加载的类的文件。
老的方法是使用名为 __autoload() 魔术全局函数。
然而你一次仅能定义一个 autoload() 函数,因此如果你的程序包含一个也使用了 autoload() 函数的库,就会发生冲突。

处理这个问题的正确方法是唯一地命名你的自动加载函数,然后使用 spl_autoload_register() 函数来注册它。
该函数允许定义多个 autoload() 这样的函数,因此你不必担心其他代码的 autoload() 函数。

示例

  1. <?php
  2. // 首先,定义你的自动载入的函数
  3. function MyAutoload($className){
  4. include_once($className . '.php');
  5. }
  6.  
  7. // 然后注册它。
  8. spl_autoload_register('MyAutoload');
  9.  
  10. // Try it out!
  11. // 因为我们没包含一个定义有 MyClass 的文件,所以自动加载器会介入并包含 MyClass.php。
  12. // 在本例中,假定在 MyClass.php 文件中定义了 MyClass 类。
  13. $var = new MyClass();
  14. ?>

进一步阅读