## 使用 [spl_autoload_register()](http://php.net/manual/zh/function.spl-autoload-register.php) 来注册你的自动加载函数。
PHP 提供了若干方式来自动加载包含还未加载的类的文件。 老的方法是使用名为 [`__autoload()`](http://php.net/manual/zh/function.autoload.php) 魔术全局函数。 然而你一次仅能定义一个 `__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();
?>
~~~
## 进一步阅读
* [PHP手册:spl_autoload_register()](http://php.net/manual/zh/function.spl-autoload-register.php)
* [Stack Overflow: 高效的 PHP 自动加载和命名策略](http://stackoverflow.com/questions/791899/efficient-php-auto-loading-and-naming-strategies)