Библиотека создания команд с интерфейсами ввода-вывода.
Проект имеет единую точку входа. В этом файле регистрируются команды. Команды создаются в папке Commands. Команды могут иметь аргументы и параметры.
Название команды передаётся первым аргументом в произвольном формате.
Аргументы запуска передаются в фигурных скобках через запятую в следующем формате:
- одиночный аргумент:
{arg}
- несколько аргументов:
{arg1,arg2,arg3}
ИЛИ{arg1} {arg2} {arg3}
ИЛИ{arg1,arg2} {arg3}
Параметры запуска передаются в квадратных скобках в следующем формате:
- параметр с одним значением:
[name=value]
- параметр с несколькими значениями:
[name={value1,value2,value3}]
Аргументы и/или параметры могут вовсе отсутствовать.
У параметра не может быть 0 значений: запись [name={}]
некорректна.
Запись {}
некорректна также и в смысле аргументов.
Если передано несколько аргументов/параметров с одинаковыми именами, учитывается только последний.
Пример запуска тестовой команды:
php app.php command_name [m={f}] {fd} {f3,f4} {fd}
Вы можете создавать собственные схемы ввода-вывода, даже не связанные с консолью, или просто менять парсеры
по аналогии с папкой Terminal, и подключать их к Application
в app.php.
При необходимости для удобства тестирования (xdebug) и дальнейшей разработки можно с помощью docker compose
поднять локальные микросервисы, которые находятся в папке docker
(reverse proxy
и сам php-сервер).
Перед первым развёртыванием нужно создать сеть:
docker network create nginx-dev-proxy