Новое в Symfony 6.3 — Улучшения DX (developer experience)

Источник: «New in Symfony 6.3: DX Improvements (Part 1)»
Symfony 6.3 включает улучшения DX (developer experience) в глобальной переменной app, компоненте YAML, профилировщике, пулах кэша и функциях дампа.

DX (опыт разработчика) определяется инструментами, процессами и программным обеспечением, которые разработчик использует при взаимодействии с продуктом или системой. В Symfony мы постоянно улучшаем DX, и в этой статье мы выделяем некоторые из DX улучшений Symfony 6.3

Добавление текущей локали в переменную app

В Symfony нет простого способа получить текущую локаль приложения из шаблонов Twig. Вы можете использовать переключатель локали, представленный в Symfony 6.1, чтобы передать локаль как переменную шаблона.

В Symfony 6.3 мы улучшаем глобальную переменную app для обеспечения прямого доступа к текущей локали приложения:

{{ app.locale }}

Дамп цифровых ключей YAML в виде строк

По умолчанию компонент YAML выводит только цифровые ключи массива, как целые integer. Однако иногда необходимо использовать строки в качестве ключей (например, этого требует спецификация OpenApi).

В Symfony 6.3 вы можете использовать новый флаг Yaml::DUMP_NUMERIC_KEY_AS_STRING для дампа числовых ключей в виде строк:

$dumped = Yaml::dump([200 => 'foo']);
// 200: foo

$dumped = Yaml::dump([200 => 'foo'], flags: Yaml::DUMP_NUMERIC_KEY_AS_STRING);
// '200': foo

Простой способ удалить все пулы кэша

В Symfony 6.3 мы добавили новый аргумент --all в команду очистки содержимого пулов кэша, что бы можно было очистить их все сразу:

php bin/console cache:pool:clear --all

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

Все мы любим профилировщик Symfony за всю отладочную информацию, которую он даёт при разработке приложений. Но за это приходится платить: информация профилировщика хранится в файлах, которые могут быстро занять много места на диске.

В Symfony 6.3 мы предоставили функцию автоматического удаления профилей через некоторое время. На практике, при каждом запросе есть 10% шанс, что Symfony активирует функцию удаления. При его активации любой профиль созданный два дня назад или ранее, удаляется.

Добавлены метки к функциям дампа

Функции дампа dump() и dd() — утилиты, предоставляемые Symfony, когда вам нужно быстро отладить какую-то проблему и не требуется использовать полный отладчик. В Symfony 6.3 мы улучшили эти функции, чтобы вы могли добавлять к ним имена аргументов. Эти имена аргументов позже отображаются в виде меток рядом с содержимым дампа:

{# До: #}
{# Было принято использовать обычные строки для добавления некоторой контекстной информации #}
{{ dump('Original order', $order, 'Processed order', $processedOrder) }}

{# После: #}
{# Имена аргументов отображаются в виде меток рядом с содержимым дампа #}
{{ dump(original: $order, processed: $processedOrder) }}

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

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

Vim: Что такое set hidden

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

Безопасное обновление с PHP 7.4 до 8.1 с Rector