Новое в Symfony 7.2: Новые параметры команд
В Symfony 7.2 мы улучшили многие существующие команды, добавив новые опции и возможности.
Разрешение переменных Env при линтинге контейнера
- Pull Request: [FrameworkBundle] Add
--resolve-env-vars
option tolint:container
command #58199 Gabriel Ostrolucký
Команда 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
Улучшенный код выхода при дешифровке секретов
- Pull Request: [FrameworkBundle] Add exit option to
secrets:decrypt-to-local
command #57670 dciprian-petrisor - Pull Request: [FrameworkBundle] terminate with non-zero exit code when a secret could not be read #57797 Christian Flothmann
Команда 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