使用 Composer 自动加载

Composer 生成 vendor/autoload.php 文件。

你可能只是包含此文件,你将免费获得自动加载。

require __DIR__ . '/vendor/autoload.php';

这使得使用第三方依赖项非常容易。

你还可以通过向 composer.json 添加自动加载部分,将自己的代码添加到 Autoloader。

{
    "autoload": {
        "psr-4": {"YourApplicationNamespace\\": "src/"}
    }
}

在本节中,你将定义自动加载映射。在此示例中,它将命名空间的 PSR-4 映射到目录:/src 目录位于项目根文件夹中,与/vendor 目录位于同一级别。示例文件名是包含 YourApplicationNamespace\Foo 类的 src/Foo.php

重要说明: 在自动加载部分中添加新条目后,必须重新运行命令 dump-autoload 以使用新信息重新生成和更新 vendor/autoload.php 文件。

除了 PSR-4 自动加载,Composer 还支持 PSR-0classmapfiles 自动加载。有关更多信息,请参阅自动加载参考

当你包含/vendor/autoload.php 文件时,它将返回 Composer Autoloader 的一个实例。你可以将 include 调用的返回值存储在变量中,并添加更多名称空间。例如,这对于在测试套件中自动加载类非常有用。

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->add('Application\\Test\\', __DIR__);