2015-06-09 105 views
3

在Laravel 5中,我剛剛運行php artisan make:command doMagicStuff以在處理程序中使用die()語句創建通用命令。每當我嘗試`$這個 - >訊(新DoMagicStuff()),但是,我得到:Laravel 5:「class App Commands Command not found」

​​

如果我刪除extends Command它的工作原理,但顯然不正確。

有沒有理由找不到App \ Commands \ Command? (注意:在./app/Commands中,沒有Command.php,所以這是一個提示,儘管它可能位於vendor目錄下。我做了一個「class Command」的grep,但沒有運氣。

+1

您可以使用供應商目錄'Illuminate \ Console \ Command'中的一個。我也遇到過這種情況,我懷疑這是鼓勵在該文件夾中擁有自己的基本Command類的最佳做法。不知道爲什麼它沒有與股票安裝,但。 – ceejayoz

+0

是的,面臨同樣的問題。另外,laravel安裝中默認沒有命令目錄。它是在第一次運行'make:command'時創建的。 –

回答

2

你從GitHub克隆回購的倉庫有有什麼也沒有,只是抽象的空洞的一個Command.php我的項目也有,所以...怪異

這裏:。。https://github.com/laravel/laravel/tree/5.0/app/Commands

只要你創建一個命令,它的名稱空間爲namespace App\Commands;,你的文件名爲extends Command,所以它會在App\Commands目錄中尋找Command類,因爲它存在於回購中,它應該存在於你的副本也是。

+0

我在將Lumen應用移至Laravel後發生了這種情況。 – jeteon