Taylor 與 Dries Vints 合作,為 7 月底或 8 月初發布的 Laravel 5.5 增加了一個新的功能。這個功能使得 Laravel 能更容易地對包進行安裝和啟用的管理。
包的開發者可以在 composer.json
檔案中新增一個新的部分,用來告訴框架應該註冊哪些服務提供器或者它們的外觀。Taylor 甚至在最流行的 Laravel Debugbar 中提交了這個配置的 PR 。
現在,在新版的 Laravel 5.5 上,還和以前一樣簡單地安裝包之後:
composer require barryvdh/laravel-debugbar:dev-master
框架將會自動幫你註冊包的服務提供器並啟用,像這樣:
這種做法消除了安裝和使用包時煩人的過程。如果在 composer.json
檔案的 require-dev
部分中使用自動發現來安裝和啟用 Composer 的包,那麼只有當你的環境處於「dev」時,這些服務提供器才會被註冊。即,對於那些只能在開發環境使用的類似 Laravel Dusk 或者 Laravel Debugbar 來說,是非常棒的。這樣一來你的 AppServiceProvider
裡面就不再需要出現根據當前環境或者其他條件來判斷是否使用那些個服務提供器的內容。
還可以輕鬆地刪除已安裝的軟體包,你會發現它們的註冊和別名也將被刪除:
composer remove barryvdh/laravel-debugbar
而透過將它們列入 composer.json
檔案中的 dont-discover
部分,也可以禁用一個或多個包的自動發現:
除了 Laravel 5.5 之外,這個功能也開始應用於各種社群開發的包。正如你所見到的,Laravel 正在變得越來越強大,就讓我們一起期待 5.5 的到來!
本作品採用《CC 協議》,轉載必須註明作者和本文連結