Новое в Symfony 7.2: Новые параметры команд

Источник: «New in Symfony 7.2: New Command Options»
В Symfony 7.2 появились новые опции команд, позволяющие отслеживать переменные env контейнера, форматировать вывод статистики мессенджера и фильтровать ресурсы во время отладки.

В Symfony 7.2 мы улучшили многие существующие команды, добавив новые опции и возможности.

Разрешение переменных Env при линтинге контейнера

Команда lint:container выполняет ряд проверок для валидации конфигурации сервис-контейнеров. Однако она не проверяет, определены ли все переменные среды, используемые в ваших сервисах.

Например, если вы определите переменную env для некоторого окружения (например, dev или staging), но забудете определить её в production, то увидите исключение, когда приложение уже развёрнуто. В Symfony 7.2 мы добавили следующую опцию, чтобы вы могли проверить, что все необходимые переменные env также определены:

php bin/console lint:container --resolve-env-vars

Статистика мессенджера в разных форматах

Команда messenger:stats выводит информацию о количестве сообщений в очереди на транспорт. В отличие от других команд Symfony, она не предоставляет вывод в различных форматах. В версии 7.2 мы улучшили эту команду, добавив поддержку форматов json и text:

php bin/console messenger:stats --format=json
php bin/console messenger:stats my_transport_name other_transport_name --format=json

Улучшенный код выхода при дешифровке секретов

Команда secrets:decrypt-to-local дешифрует все секреты Symfony и сохраняет их в локальном хранилище. Однако, когда расшифровка не удаётся по какой-либо причине (например, вы не задали переменную env для ключа дешифрования), команда выводит несколько сообщений об ошибках, но с успешным статус-кодом.

В Symfony 7.2 при неудачном выполнении команды по любой причине статус код будет равен 1, так что вы сможете обнаружить эту ошибку и правильно её обработать.

Разрешение пропускать неотправленные сообщения

Команда messenger:failed:retry позволяет просматривать и повторять неудавшиеся сообщения. Для каждого сообщения она предлагает два варианта: либо повторить попытку прямо сейчас, либо удалить его. Однако иногда бывает так, что сообщение не нужно удалять, но не уверены в том, что его стоит повторить прямо сейчас.

Поэтому в Symfony 7.2 вы увидите третий вариант: skip — пропустить сообщение, чтобы потом решить, что с ним делать.

Фильтры отладки ресурсов

Команда debug:asset-map позволяет отобразить подробную информацию о путях AssetMapper, префиксах пространств имён, логических путях и т. д. По мере роста приложения вывод этой команды становится всё менее удобным. Поэтому в Symfony 7.2 мы добавили несколько опций для фильтрации результатов:

# укажите имя ресурса или каталог, чтобы показывать только те результаты, которые им соответствуют
php bin/console debug:asset-map bootstrap.js
php bin/console debug:asset-map style/

# укажите расширение, чтобы показывать только этот тип файла
php bin/console debug:asset-map --ext=css

# вы также можете показывать только ресурсы в каталоге vendor/ или исключить любые результаты из него
php bin/console debug:asset-map --vendor
php bin/console debug:asset-map --no-vendor

# вы также можете комбинировать все фильтры (например, находить полужирные веб-шрифты в собственных каталогах ресурсов)
php bin/console debug:asset-map bold --no-vendor --ext=woff2

Комментарии


Дополнительные материалы

Предыдущая Статья

Недостатки JavaScript

Следующая Статья

Обзор наследования в JavaScript