Подтвердить что ты не робот

Lumen make: команда

Я пытаюсь выполнить код внутри моей установки Lumen через командную строку. В полном Laravel я читал, что вы можете использовать команды для достижения этой цели с помощью команды "make: command", но Lumen, похоже, не поддерживает эту команду.

Можно ли включить эту команду? В противном случае, какой лучший способ запускать код из CLI в Lumen?

Спасибо

4b9b3361

Ответ 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
];