使用 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__);