Я разработал некоторую пользовательскую команду artisan для более удобного использования с моим пакетом. Можно ли включить команду artisan в пакет для упрощения развертывания? Если может, как?
Благодарю.
Наличие команды в вашей структуре пакета:
<?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, чтобы добавить вашу команду в список доступных команд.