Новое в 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()).

Новое в Symfony 5.1: Устаревание публичного сервиса в приватных сервисах

Одной из ключевых функций, которая заставляет разработчиков любить Symfony, является обработка устаревших функций. Обещание обратной совместимости Symfony («обещание BC») гарантирует, что ваше приложение никогда не сломается при обновлении между второстепенными версиями.

Новое в Symfony 5.1: Защита от подделки запросов на стороне сервера

Уязвимости безопасности, такие как CSRF (подделка межсайтовых запросов), хорошо известны большинству веб-разработчиков, и Symfony обеспечивает автоматическую защиту от них. Связанная, но менее известная уязвимость называется SSRF (подделка запросов на стороне сервера).

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

Компонент ExpressionLanguage предоставляет механизм для компиляции и оценки выражений. Он используется многими компаниями, чтобы позволить не разработчикам писать бизнес-правила (например, оценить следующее выражение, чтобы решить, предлагает ли ваш магазин скидку: 'user ["isActive"] == true and product ["price"]> 20').

Новое в Symfony 5.1: Упрощенный контекст запроса

Создание URL-адресов в консольных командах и любых других местах за пределами веб-контекста является сложной задачей, поскольку Symfony не имеет доступа к текущему хосту, базовому URL-адресу и т. д.

Новое в Symfony 5.1: Поддержка Async AWS

Официальный AWS SDK для PHP упрощает интеграцию сервисов Amazon AWS (Amazon S3, Amazon DynamoDB и т. д.) В ваши PHP-приложения. Этот SDK является полным набором функций, обеспечивающим поддержку более 200 сервисов AWS (с помощью 8000 методов).

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

Добавлена аннотация @Ignore

В Symfony 5.1 добавлена новая аннотация @Ignore, позволяющая игнорировать некоторые значения при сериализации. Вы можете применить аннотацию как к свойствам, так и к методам.