实现php自动加载
使用 spl_autoload_register 函数
PHP 提供了 spl_autoload_register 函数,允许注册自定义的自动加载函数。当尝试使用尚未定义的类时,PHP 会自动调用这些函数。
spl_autoload_register(function ($className) {
$file = __DIR__ . '/' . str_replace('\\', '/', $className) . '.php';
if (file_exists($file)) {
require_once $file;
}
});
遵循 PSR-4 标准
PSR-4 是 PHP 自动加载的标准规范,定义了类名与文件路径的映射关系。通常与 Composer 结合使用。
在 composer.json 中配置命名空间与目录的映射:

{
"autoload": {
"psr-4": {
"MyNamespace\\": "src/"
}
}
}
运行 composer dump-autoload 生成自动加载文件。
使用 __autoload 函数(已弃用)
早期 PHP 版本使用 __autoload 函数实现自动加载,但该方式已被 spl_autoload_register 取代,不建议在新项目中使用。

function __autoload($className) {
include $className . '.php';
}
类映射方式
对于小型项目,可以预先建立类名与文件路径的映射数组,提高加载效率。
$classMap = [
'MyClass' => 'path/to/MyClass.php',
'AnotherClass' => 'path/to/AnotherClass.php'
];
spl_autoload_register(function ($className) use ($classMap) {
if (isset($classMap[$className])) {
require_once $classMap[$className];
}
});
使用 Composer 自动加载
Composer 是 PHP 的依赖管理工具,内置了 PSR-4 和类映射的自动加载实现。在项目根目录创建 composer.json 并配置后,只需在入口文件包含:
require 'vendor/autoload.php';
Composer 会自动处理所有注册的命名空间和类的加载。






