自动加载类
使用 spl_autoload_register() 来注册你的自动加载函数。
PHP 提供了若干方式来自动加载包含还未加载的类的文件。
老的方法是使用名为 __autoload()
魔术全局函数。
然而你一次仅能定义一个 autoload()
函数,因此如果你的程序包含一个也使用了 autoload()
函数的库,就会发生冲突。
处理这个问题的正确方法是唯一地命名你的自动加载函数,然后使用 spl_autoload_register()
函数来注册它。
该函数允许定义多个 autoload()
这样的函数,因此你不必担心其他代码的 autoload()
函数。
示例
- <?php
- // 首先,定义你的自动载入的函数
- function MyAutoload($className){
- include_once($className . '.php');
- }
- // 然后注册它。
- spl_autoload_register('MyAutoload');
- // Try it out!
- // 因为我们没包含一个定义有 MyClass 的文件,所以自动加载器会介入并包含 MyClass.php。
- // 在本例中,假定在 MyClass.php 文件中定义了 MyClass 类。
- $var = new MyClass();
- ?>