(!) Примеры и описание для более новой версии фреймворка 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).