Symfony 6.3 Добавлены новые возможности

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

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

  • Early Hints: Symfony 6.3 добавляет поддержку Early Hints, что позволяет браузерам загружать ресурсы, пока серверы всё ещё готовят ответ. Это значительно улучшает воспринимаемую производительность.
  • Ограничение No­Suspicious­Characters: Symfony 6.3 включает новое ограничение NoSuspiciousCharacters, чтобы избежать spoofing атак, основанных на использовании символов, которые отличаются, но внешне выглядят одинаково.
  • Атрибуты исключений HTTP: Symfony 6.3 вводит два новых атрибута для настройки кода состояния, заголовков и уровня журнала ваших HTTP исключений.
  • Сопоставление данных Request с типизирова­н­ны­ми объектами: Symfony 6.3 представляет два новых атрибута PHP для сопоставления данных входящего запроса Request с типизированными объектами, таким как DTO, и их автоматическая проверка.
  • Преобразование целевых значений: Symfony 6.3 вводит новый атрибут ValueResolver для явного выбора преобразователя аргументов, для использования в аргументах контроллера.
  • Ограничение надёжности пароля: Symfony 6.3 включает средство проверки надёжности паролей, чтобы проверить, достигают ли данные пароли определённого уровня безопасности на основе их энтропии.
  • Обработчик токена OpenID Connect: Symfony 6.3 добавляет совместимость с серверами OpenID Connect с помощью двух новых обработчиков токенов OIDC.
  • Полезная нагрузка запроса: В Symfony 6.3 добавляет метод getPayload() к объекту Request для получения содержимого POST и/или содержимого тела запроса.
  • Команда отладки сериализатора: Symfony 6.3 включает новую команду, которая выводит метаданные сериализатора заданного класса, чтобы помочь отладить любые проблемы с Serializer.
  • Улучшения Form: Symfony 6.3 улучшает обработку секунд в полях даты/времени, обновляет виджеты HTML 5 для даты/времени и позволяет настраивать параметры опции placeholder.
  • Улучшения Перечислений: В Symfony 6.3 добавлена поддержка перечислений в выражениях, деревьях конфигурации и параметрах маршрута.
  • Улучшения login и logout: Symfony 6.3 позволяет перенаправлять пользователей после их программного логина, добавляет поддержку 'Запомнить меня' для JSON логинов и позволяет очищать данные сайта после выхода пользователя.
  • Сопоставитель параметров запроса: Symfony 6.3 включает новый атрибут MapQueryParameter для сопоставления и проверки отдельных параметров строки запроса с аргументами контроллера.
  • Улучшения производительности: Symfony 6.3 улучшает производительность извлечения сообщений перевода, компиляции сервисного контейнера и нормализации/денормализации сериализатора.
  • Улучшения эмодзи: Symfony 6.3 добавляет новую функцию для удаления эмодзи из содержимого строки и возможность сжатия всех данных эмодзи для экономии места на диске.
  • Компоненты Webhook и RemoteEvent: Symfony 6.3 представляет несколько новых компонентов, упрощающих создание и обработку веб-хуков в ваших приложениях.
  • Улучшения Clock: Symfony 6.3 представляет новый класс Clock и новый ClockAwareTrait; от также интегрирует компонент Clock в другие функции Symfony.
  • Улучшения DX (developer experience): Symfony 6.3 включает улучшения DX (developer experience) в глобальной переменной app, компоненте YAML, профилировщике, пулах кэша и функциях дампа.
  • Улучшения HttpClient: Symfony 6.3 улучшает HTTP-клиент с новым JsonMockResponse, множественными повторными URI, дополнительными настраиваемыми параметрами, улучшениями загрузки файлов и поддержкой шаблонов URI.
  • Улучшения DX (Часть 2): Symfony 6.3 будет включать улучшения DX, такие, как обнаружение невидимых символов в VarDumper, улучшенный дамп YAML дат, параметры сборки сервис контейнера и потоковые JSON ответы.
  • Интеграция Notifier: Symfony 6.3 добавляет новые интеграции Notifier для Twitter, Mastodon, LINE, Pushover, PagerDuty и других.
  • Улучшения WebProfiler: Symfony 6.3 улучшает профилировщик с лучшей доступностью, динамическими иконками и кликабельными путями шаблона.
  • Улучшения DX (Часть 3): Symfony 6.3 улучшает ограничение Cascade, позволяя обрезать XML параметры, устанавливать службы в тестовом контейнере и улучшает обработку сигналов Console.
  • Улучшения Dependency Injection: В Symfony 6.3 улучшен компонент Dependency Injection, добавлена поддержка автоподключения сервисов в виде замыканий и вызываемых методов, генерация адаптеров для функциональных интерфейсов.
  • Компонент AssetMapper: Symfony 6.3 включает новый компонент AssetMapper с полной поддержкой карт импорта в качестве альтернативы Webpack Encore.
  • Интеграция Webhook с Mailer и Notifier: Symfony 6.3 обеспечивает полную интеграцию веб-хуков c Mailer и Notifier для абстрагирования от различий в обработке веб-хуков сторонних сервисов.
  • Компонент Scheduler: Symfony 6.3 включает новый компонент Scheduler тесно интегрирующийся с компонентом Messenger для создания сообщений, которые должны обрабатываться несколько раз по заранее определённому расписанию.

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

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

Новое в Symfony 6.3 — Компонент Scheduler

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

PHP Файберы: Что это такое и где их использовать