Новое в Symfony 6.3 — Улучшения DX (developer experience)
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) }}