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