Symfony 6.3 Добавлены новые возможности
Опубликовано:
Вышел Symfony 6.3. Как и для любого другого выпуска Symfony, наше обещание обратной совместимости применимо, и это означает, что вы сможете легко обновиться до версии 6.3, ничего не меняя в коде.
В течении последних нескольких месяцев мы писали в блогах о замечательных новых возможностях версии 6.3. Я настоятельно рекомендую вам прочитать эти статьи о Symfony 6.3, так как они содержат основные изменения для новой версии:
Early Hints: Symfony 6.3 добавляет поддержкуEarly Hints, что позволяет браузерам загружать ресурсы, пока серверы всё ещё готовят ответ. Это значительно улучшает воспринимаемую производительность.- Ограничение
NoSuspiciousCharacters: 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 обеспечивает полную интеграцию веб-хуков cMailerиNotifierдля абстрагирования от различий в обработке веб-хуков сторонних сервисов. - Компонент
Scheduler: Symfony 6.3 включает новый компонентSchedulerтесно интегрирующийся с компонентомMessengerдля создания сообщений, которые должны обрабатываться несколько раз по заранее определённому расписанию.