我开发了一些自定义 artisan 命令,以便更轻松地与我的包一起使用。是否可以将 artisan 命令包含到包中以便于部署?如果可以,怎样做?
Thanks.
在你的包结构中有一个命令集:
<?php namespace App\Artisan;
use Illuminate\Console\Command;
class MyCommand extends Command {
protected $name = 'mypackage:mycommand';
protected $description = 'Nice description of my command.';
public function fire()
{
/// do stuff
}
}
您可以在您的套餐服务提供商中:
<?php namespace App;
use Illuminate\Support\ServiceProvider;
use App\Artisan\MyCommand;
class MyServiceProvider extends ServiceProvider {
public function register()
{
$this->registerMyCommand();
$this->commands('mycommand');
}
private function registerMyCommand()
{
$this->app['mycommand'] = $this->app->share(function($app)
{
return new MyCommand;
});
}
}
诀窍就在一线
$this->commands('mycommand');
它告诉 Laravel 将您的命令添加到可用命令的 artisan 列表中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)