簡體   English   中英

作曲家需要然后將服務注入Laravel App而不離開laravel命令行

[英]Composer Require then Inject service into Laravel App without leaving laravel command line

因此,我正在制定Laravel工匠指令。 在該命令中,我為軟件包運行“ composer require”。 我試圖找到一種方法來使用我需要的軟件包,而無需離開當前所在的命令。

我想到了像自動加載文件時那樣將名稱空間臨時添加到Laravel。

所以我的第一個問題是如何在Artisan Command內部使用下面的代碼? 由於應用程序無法在工匠命令內部自動訪問。

include_once __DIR__ .'/../vendor/....';

$this->app->make('My\Namespace');

我的第二個問題。 假設我在Artisan命令中可以使以上代碼正常工作,那是不穩定的嗎? 根據作曲家的要求,我是否應該只對工匠做出第二個命令?

任何意見,將不勝感激。

為了回答您的第一個問題,作曲家擁有自己的API ,可以手動執行其幕后工作。

您可以需要一個軟件包,然后使用其供應商路徑在classmaps API中添加新的Class用法,並在命令中轉儲自動加載。

其次,我建議執行兩個命令,每個命令僅負責執行一項任務。 首先安裝並處理安裝錯誤,其次使用它。

最后但重要的是,這是要求包裝的一種非常規方式。 因為大多數軟件包只需要一次,然后可以在項目中進行更新/刪除。 因此,您可以手動安裝軟件包一次,然后運行命令來消除使用命令安裝軟件包的麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM