Консольные команды
В JohnCMS есть единая консольная точка входа:
php system/bin/consoleКоманда выводит список всех доступных CLI-команд и их описания.
Базовые команды
Показать список команд
php system/bin/console listПоказать справку по команде
php system/bin/console help schedule:runТекущие команды проекта
Ниже примеры команд, доступных в текущей версии:
i18n:scan— сканирование исходников и генерация POT-файловi18n:translate— генерация*.lng.phpиз*.pomail:send-pending— отправка накопившейся почтовой очередиforum:cleanup-orphan-files— очистка orphan-файлов форумаsitemap:generate— генерация sitemapschedule:list— список задач планировщикаschedule:run— запуск задач, которые должны выполниться в текущую минутуrouter:list— список зарегистрированных маршрутовcache:clear— очистка файлового кэша приложения
Показать все маршруты роутера
Показать маршруты с деталями
Очистить кэш приложения
Запуск в Docker
Если проект запущен через docker compose, команды обычно выполняют внутри контейнера php-fpm:
Как добавить свою команду
Создайте класс, наследующий
Symfony\Component\Console\Command\Command.Добавьте атрибут
#[AsCommand(...)]с именем и описанием команды.Для вывода используйте
SymfonyStyle.
Команды автоматически подхватываются контейнером и появляются в system/bin/console list.
Примеры в коде
Если хотите быстро посмотреть рабочие реализации, ориентируйтесь на эти классы:
system/src/Console/Commands/I18nScanCommand.phpsystem/src/Console/Commands/I18nTranslateCommand.phpsystem/src/Console/Commands/ScheduleListCommand.phpsystem/src/Console/Commands/ScheduleRunCommand.phpsystem/src/Console/Commands/CronSendEmailCommand.php
Для примера планировщика (расписание через атрибут) см.:
system/src/Scheduler/AsScheduledTask.phpsystem/src/Scheduler/ScheduleRunner.phpsystem/src/Scheduler/ScheduledTaskRegistry.php
См. также
Последнее обновление
Это было полезно?