Новое в Symfony 5.1: Разные улучшения (Часть 1)

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

Новое в Symfony 5.1: Обновленная система безопасности

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

Новое в Symfony 5.1: Автоматическое обновление схемы

Некоторые компоненты Symfony (например, Cache, Lock, Messenger и т. д.) Могут хранить свое содержимое в базах данных с помощью Doctrine ORM. Для работы требуется некоторая ручная настройка. Например, чтобы хранить сеансы в базе данных, вы должны создать таблицу, в которой хранится информация.

Новое в Symfony 5.1: Улучшения HttpFoundation

Добавлен InputBag

Класс ParameterBag, определенный Symfony, похож на объектно-ориентированный массив, который хранит связанные значения и предоставляет такие методы, как get(), set(), has() и т. д. Symfony определяет специализированные классы ParameterBag для некоторых целей (например, FileBag для загруженных файлов. , ServerBag для заголовков HTTP и т. д.)

Новое в Symfony 5.1: Улучшения формы

Добавлен параметр html5 в ColorType

Добавили новую опцию html5 в поле формы ColorType. Если для этого параметра установлено значение true, тип формы проверяет, соответствует ли его значение цветовому формату HTML5, то есть /^#[0-9a-f]{6}$/i.

Новое в Symfony 5.1: Улучшения валидатора

В дополнение к новым валидаторам AtLeastOneOf, ExpressionLanguageSyntax и Hostname, Symfony 5.1 представил другие улучшения валидатора.

Новое в Symfony 5.1: Улучшения в OptionsResolver

Компонент OptionsResolver помогает настраивать объекты с массивами параметров. В Symfony 5.1 улучшили его с помощью следующих функций.

Новое в Symfony 5.1: Решение о доступе на основе приоритета избирателей

В приложениях Symfony Voters безопасности централизуют логику авторизации, которая решает, может ли данный пользователь получить доступ к запрошенному ресурсу. Это обычные службы Symfony, помеченные тегом security.voter, поэтому они могут определять свои приоритеты с помощью атрибута priority тега.

Новое в Symfony 5.1: Валидатор AtLeastOneOf

В дополнение к валидатору Hostname и валидатору ExpressionLanguage, в Symfony 5.1 добавили еще один валидатор с именем AtLeastOneOf. Вы можете применить его к методам и свойствам, чтобы гарантировать, что их значения удовлетворяют хотя бы одному из заданных ограничений (которое может быть любым из встроенных ограничений Symfony и/или ваших собственных пользовательских ограничений):

Новое в Symfony 5.1: Устарел компонент Inflector

Компонент Symfony Inflector преобразует слова между их формами единственного и множественного числа (пока только на английском языке). Он используется в нескольких частях Symfony для генерации уникальных имен свойств из множественных имен методов и наоборот ($foo <-> setFoos(), $foos <-> addFoo()).