Lumen make: команда
Я пытаюсь выполнить код внутри моей установки Lumen через командную строку. В полном Laravel я читал, что вы можете использовать команды для достижения этой цели с помощью команды "make: command", но Lumen, похоже, не поддерживает эту команду.
Можно ли включить эту команду? В противном случае, какой лучший способ запускать код из CLI в Lumen?
Спасибо
Ответы
Ответ 1
Вы можете использовать CLI artisan
в Lumen так же, как в Laravel, но с меньшим количеством встроенных команд. Чтобы просмотреть все встроенные команды, используйте команду php artisan
в Lumen.
Хотя в Lumen нет команды make:command
, вы можете создать свою собственную команду:
-
Добавить новый класс команд внутри папки app/Console/Commands
, вы можете использовать шаблон шаблона образца команды serve
-
Зарегистрируйте свою пользовательскую команду, добавив ваш созданный класс в элемент $commands
внутри файла app/Console/Kernel.php
.
За исключением команды генерации, вы можете использовать Laravel docs для команд при работе с Lumen.
Ответ 2
Когда вы создаете свой командный класс, используйте это:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
Вместо того, что было описано выше об использовании примера serve command
Ответ 3
Вот шаблон для новой команды. Вы можете просто скопировать и вставить это в новый файл и начать работать. Я проверял это на люмене 5.7.0
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class CommandName extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'commandSignature';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->info('hello world.');
}
}
Затем зарегистрируйте его в файле Kernel.php.
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\App\Console\Commands\CommandName::class
];