Консоль: использование собственных консольных команд

15 Сентября 2022 (ред)

(!) Примеры и описание для более новой версии фреймворка HLEB2 могут отличаться от приведенных в тексте.

Перечень встроенных консольных команд отображается командой php console --help, выполненной в корневой директории проекта.

$ php console --help

--version or -v (displays the version of the framework) (версия фреймворка)

--clear-cache or -cc (clears the templates) (очистка кэша шаблонов и маршрутов)

--forced-cc (forcefully clears the templates)

--clear-routes-cache or -routes-cc (clear routes cache)

--info or -i (displays the values of the main settings) (вывод настроек)

--help or -h (displays a list of default console actions)

--routes or -r (forms a list of routes)

--list or -l (forms a list of commands) (вывод списка пользовательских команд)

--list <command> [--help] (command info)

--logs or -lg (prints multiple trailing lines from a log file) (отображение последних ошибок в логах)

--find-route <url> [method] [domain] (route search by url)

--new-task (сreates a new command)

--new-task example-task "Short description" (Создание новой команды)

Создать собственную консольную команду при помощи добавления соответствующего класса в app/Commands/:

/* Файл /app/Commands/DefaultTask.php */
namespace App\Commands;
class DefaultTask extends \Hleb\Scheme\App\Commands\MainTask
{
    /* php console default-task [arg] */
    const DESCRIPTION = "Default task"; /* Короткое, но информативное описание команды. */
    protected function execute($arg = null) /* Переменная $arg будет содержать необязательный дополнительный аргумент.*/
    {
        /* Содержимое класса */
    }
}

Теперь можно вызвать эту команду по принципу соответствия DefaultTask > default-task.

$ php console default-task

Если, например, класс расположен в папке app/Commands/Folder/, то вызвать его можно таким образом:

$ php console folder/default-task

Стоит учесть, что при расположении класса в папке app/Commands/Folder/, его namespace должно быть App\Commands\Folder.

Добавление произвольного значения "test", которое будет передано в переменной $arg :

$ php console default-task test

Если необходимо передать два или более аргументов с командой, то их необходимо указать в методе execute, например так: execute($arg1, $arg2, $arg3).

fomiash fomiash + 221
Опубликовано в PHP фреймворк HLEB

1 Ответ

  1. fomiash fomiash 19 Октября 2022

    В версии v1.6.77 фреймворка HLEB добавлена команда php console --update-routes-cache, которая обновляет кэш роутов к текущему их состоянию. Ранее нужно было осуществить реальный запрос к одному из роутов, чтобы перерасчитать кэш.



Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.