2015-06-09 104 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