Полезные консольные команды Symfony

Console Component — один из самых мощных инструментов в арсенале Symfony разработчика. Фреймворк и его компоненты (такие, как например Security или Mailer) имеют в своём составе различные команды, упрощающие выполненение некоторых рутинных задач и облегчающие процесс разработки.

Базовые команды для повседневной работы

1. Диагностика и отладка

Проверка здоровья приложения:

php bin/console about

Просмотр всех доступных команд:

php bin/console list

Просмотр помощи по команде:

php bin/console help your:command

Включение подробного вывода:

php bin/console your:command -v
Проверка конфигурации конкретного бандла:
php bin/console debug:config framework
Просмотр зарегистрированных сервисов:
php bin/console debug:container

Поиск сервиса по ключевому слову:

php bin/console debug:container log

2. Работа с кэшем

Очистка кэша для dev-окружения:

php bin/console cache:clear

Очистка кэша для prod-окружения:

php bin/console cache:clear --env=prod

Прогрев кэша:

php bin/console cache:warmup

Очистка конкретного пула кэша:

php bin/console cache:pool:clear cache.system

3. Работа с Doctrine ORM

Просмотр всех маппингов сущностей:

php bin/console doctrine:mapping:info

Создание новой сущности:

php bin/console make:entity Product

Генерация геттеров и сеттеров для существующих сущностей:

php bin/console make:entity --regenerate

Просмотр SQL для миграций без выполнения:

php bin/console doctrine:migrations:diff --dry-run

Создание миграции:

php bin/console doctrine:migrations:diff

Выполнение миграций:

php bin/console doctrine:migrations:migrate

Откат последней миграции:

php bin/console doctrine:migrations:migrate prev

4. Безопасность и аутентификация

Создание сущности User (при наличии установленного Symfony MakerBundle):

php bin/console make:user

Начиная с MakerBundle: v1.57.0 — вы можете передать --with-uuid или --with-ulid в make:user. Используя компонент Uid Symfony, это генерирует сущность User с типом идентификатора Uuid или Ulid вместо int.

Настройка аутентификации:

php bin/console make:auth
Создание контроллера аутентификации (ели не использовалась предыдущая команда):
php bin/console make:security:form-login
Создание контроллера регистрации:
php bin/console make:registration-form
Создание контроллера регистрации:
php bin/console make:registration-form
Просмотр текущих firewall'ов:
php bin/console debug:firewall
 

Продвинутые команды для эффективной разработки

1. Работа с компонентом Messenger

Просмотр зарегистрированных обработчиков сообщений:

php bin/console debug:messenger

Запуск воркера для обработки сообщений:

php bin/console messenger:consume async

Просмотр статистики по сообщениям:

php bin/console messenger:stats

Остановка всех воркеров:

php bin/console messenger:stop-workers

2. Работа с компонентом Mailer

Просмотр сконфигурированных транспортов:

php bin/console debug:mailer

Отправка тестового письма:

php bin/console mailer:test email@example.com

3. Команды для отладки производительности

Профилирование приложения:

php bin/console debug:profile

Анализ конфигурации производительности:

php bin/console debug:autowiring --performance

Просмотр событий и их обработчиков:

php bin/console debug:event-dispatcher

Автоматизация разработки с Make Commands

Генерация CRUD:

php bin/console make:crud

Создание фикстур:

php bin/console make:fixtures

Генерация формы:

php bin/console make:form

Создание собственной консольной команды:

php bin/console make:command

Генерация функционального теста:

php bin/console make:functional-test

Создание DTO:

php bin/console make:dto

Команды для работы в production

Оптимизация автозагрузки Composer:

composer dump-autoload --optimize

Очистка кэша для production:

php bin/console cache:clear --env=prod --no-debug

Прогрев кэша для production:

php bin/console cache:warmup --env=prod

Проверка требований системы:

php bin/console requirements:check --env=prod

Проверка состояния приложения:

php bin/console app:health-check

Очистка устаревших сессий:

php bin/console session:gc