Laravel 5 - 为包创建工匠命令

use*_*781 17 php laravel laravel-5 artisan

我一直关注http://laravel.com/docs/5.0/commands并能够在Laravel 5中创建artisan命令.但是,我如何创建artisan命令并将其打包到包中?

luk*_*ter 41

您可以并且应该$this->commands()register()方法中使用以下方法在服务提供者中注册包命令:

namespace Vendor\Package;

class MyServiceProvider extends ServiceProvider {

    protected $commands = [
        'Vendor\Package\Commands\MyCommand',
        'Vendor\Package\Commands\FooCommand',
        'Vendor\Package\Commands\BarCommand',
    ];

    public function register(){
        $this->commands($this->commands);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 首先,命令必须自动加载.通常,如果您的包中的其他文件工作,则应该是这种情况.(确保命令位于与其目录对应的正确名称空间中.这应该类似于`namespace Vendor\Package\Commands`)然后您只需要在`$ commands`数组中使用它的完全限定名称来引用它.就像我编辑的答案一样...... (3认同)