带子方法的Laravel artisan命令

带子方法的Laravel artisan命令,laravel,laravel-5,laravel-artisan,Laravel,Laravel 5,Laravel Artisan,这可能是一个非常基本的问题,但我没有从文档中领会到一些东西 我知道如何从控制台创建和运行Artisan命令,并且知道如何添加如下参数和选项: artisansome:function{argument}{--option} 但是有没有办法在这个调用中添加子方法,即: artisan mycommand:foo artisan mycommand:bar 我假设是这样的(否则冒号是什么意思?),但我只能在文档中找到与选项和参数相关的信息 这是否可能,以及如何在Artisan命令类中处理这些问题?

这可能是一个非常基本的问题,但我没有从文档中领会到一些东西

我知道如何从控制台创建和运行Artisan命令,并且知道如何添加如下参数和选项:

artisansome:function{argument}{--option}

但是有没有办法在这个调用中添加子方法,即:

artisan mycommand:foo
artisan mycommand:bar
我假设是这样的(否则冒号是什么意思?),但我只能在文档中找到与选项和参数相关的信息


这是否可能,以及如何在Artisan命令类中处理这些问题?谢谢。

这只涉及两个单独的命令类,它们在$signature中使用相同的前缀。前缀提供了一种将类似命令分组在一起的方法


如果它们共享功能,可以使用trait或继承,但命令应该在单独的类中定义。

子方法是什么意思?只需为两个单独的命令定义相同的前缀。我指的是作为同一进程的一部分相关的方法。例如,一个两步流程可能涉及
artisan mycommand:setup
artisan mycommand:dothething
之类的内容,我更愿意在同一个类中处理这些内容。这不可能吗?在这种情况下,我是否必须创建完全独立的类(或者使用“参数”或“选项”来指定差异)?在执行
artisan make:controller
artisan make:seeder
时,laravel如何处理这些类?这两个类是完全独立处理的吗。查找ControllerMakeCommand和SeederMakeCommand。如果它们共享功能,请使用特征或继承。好的。谢谢我猜冒号只是用来装饰的,谢谢。。。我可以看出结肠还有另一个好处。如果您有一个像
artisan mycommand:foo
这样的命令,而您运行的像
artisan mycommand:bar
这样的命令不存在,控制台会问您“您是指mycommand:foo吗?”。美好的