溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

composer+psr-4實現(xiàn)自動加載

發(fā)布時間:2020-07-30 01:30:30 來源:網(wǎng)絡(luò) 閱讀:969 作者:hgditren 欄目:web開發(fā)

自動加載

對于庫的自動加載信息,Composer 生成了一個 vendor/autoload.php 文件。你可以簡單的引入這個文件,你會得到一個免費的自動加載支持。

require 'vendor/autoload.php';

這使得你可以很容易的使用第三方代碼。例如:如果你的項目依賴 monolog,你就可以像這樣開始使用這個類庫,并且他們將被自動加載。

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));

$log->addWarning('Foo');

你可以在 composer.json 的 autoload 字段中增加自己的 autoloader。

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

Composer 將注冊一個 PSR-4 autoloader 到 Acme 命名空間

你可以 定義一個從命名空間到目錄的映射 。此時 src 會在你項目的根目錄,與 vendor 文件夾同級。例如 src/Foo.php 文件應(yīng)該包含 Acme\Foo 類。

添加 autoload 字段后,你應(yīng)該再次運行 install 命令來生成 vendor/autoload.php 文件。

引用這個文件也將返回 autoloader 的實例,你可以將包含調(diào)用的返回值存儲在變量中,并添加更多的命名空間。這對于在一個測試套件中自動加載類文件是非常有用的,例如。

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

除了 PSR-4 自動加載,classmap 也是支持的。這允許類被自動加載,即使不符合 PSR-0 規(guī)范。詳細請查看 自動

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI