2017-01-16 101 views
2

我想問是否有辦法自動加載一個包只有當條件滿足時,我加載的一些包只用於調試或日誌記錄,而不是總是需要,從我的composer.json中刪除它們釋放了大約1 MB的內存,那麼是否有辦法將autoload.php設置爲僅在滿足某些條件時才需要這些包。作曲家自動加載一個包,如果條件符合

我知道我可以編輯autoload_files.php,但是每當我運行composer update或其他作曲家命令時,所有更改都會丟失。

那麼這樣做的正確方法是什麼?

回答

2

不確定您的使用案例,但是您確實有可能選擇開發時僅需要哪些軟件包(因此不在生產中):require-dev

基本上,當你需要一個只在開發環境中使用的軟件包(如調試器)時,你可以用composer require --dev <package>來添加它。

希望能幫到你。

+0

「我正在加載的一些軟件包僅用於調試或日誌記錄」 - 聽起來這些對於開發人員要求來說確實是正確的情況。 (也許不是日誌記錄,你可能需要它,但級別可能會有所不同) –

+0

不安靜,我的目標是隻有當我以管理員身份登錄時才加載某些軟件包,例如,這些軟件包將輸出調試信息腳本,它們每個請求消耗大約1 MB,除了管理員以外完全不需要任何人。 –

+0

我明白了。所以您的應用程序的狀態將定義要加載的包。我不知道如何PHP自動加載工作,但我最好的猜測將是使用自定義自動加載器,而不是Composer的。 – Elhebert