所以我试图在 Laravel 5.1 中创建一个自定义控制台命令,它为我的项目做了一些有用的功能。当将控制台命令放在位于基本命令文件夹的文件中时,我可以做到这一点,但当我只是添加一个子目录时则不然。
'App\Console\Commands\SomeCustomCommandThatWorks',
'App\Console\Commands\MySubNameSpace\CustomCommandThatFails',
Run Code Online (Sandbox Code Playgroud)
那么如何添加我的命令MySubNameSpace\Command呢?
命名空间似乎对此没有任何影响。该命令的命名空间可能是App\Console\MySubNameSpace\MyCommand或者App\Console\MyCommand如果该文件位于都失败'App\Console\Commands\MySubNameSpace\MyCommand'。如果位于'App\Console\Commands\MyCommand'with namespace ,该文件也会失败App\Console\MySubNameSpace\MyCommand。
现在我收到这个错误。
Class App\Console\Commands\DeletePhantomServers does not exist
Run Code Online (Sandbox Code Playgroud)
我试过运行 composer dumpautoload 但没有成功。
我一定是累了。读完迈克尔的答案后,我查看了名称空间,意识到我只是把它们写错了。
我当时把
namespace App\Console\Commands\MySubNameSpace\MyCommand;
class MyCommand ...
Run Code Online (Sandbox Code Playgroud)
我需要放置的地方
namespace App\Console\Commands\MySubNameSpace;
class MyCommand ...
Run Code Online (Sandbox Code Playgroud)
感谢人们的帮助:)