Компонент OptionsResolver помогает настраивать объекты с массивами параметров. В Symfony 5.1 улучшили его с помощью следующих функций.
Мечтатель, путешественник, программист 👨💻 🌏 ✈️ 📷
Компонент OptionsResolver помогает настраивать объекты с массивами параметров. В Symfony 5.1 улучшили его с помощью следующих функций.
В приложениях Symfony Voters безопасности централизуют логику авторизации, которая решает, может ли данный пользователь получить доступ к запрошенному ресурсу. Это обычные службы Symfony, помеченные тегом security.voter
, поэтому они могут определять свои приоритеты с помощью атрибута priority
тега.
В дополнение к валидатору Hostname и валидатору ExpressionLanguage, в Symfony 5.1 добавили еще один валидатор с именем AtLeastOneOf
. Вы можете применить его к методам и свойствам, чтобы гарантировать, что их значения удовлетворяют хотя бы одному из заданных ограничений (которое может быть любым из встроенных ограничений Symfony и/или ваших собственных пользовательских ограничений):
Компонент Symfony Inflector преобразует слова между их формами единственного и множественного числа (пока только на английском языке). Он используется в нескольких частях Symfony для генерации уникальных имен свойств из множественных имен методов и наоборот ($foo
<-> setFoos()
, $foos
<-> addFoo()
).
Одной из ключевых функций, которая заставляет разработчиков любить Symfony, является обработка устаревших функций. Обещание обратной совместимости Symfony («обещание BC») гарантирует, что ваше приложение никогда не сломается при обновлении между второстепенными версиями.
Уязвимости безопасности, такие как CSRF (подделка межсайтовых запросов), хорошо известны большинству веб-разработчиков, и Symfony обеспечивает автоматическую защиту от них. Связанная, но менее известная уязвимость называется SSRF (подделка запросов на стороне сервера).
Компонент ExpressionLanguage предоставляет механизм для компиляции и оценки выражений. Он используется многими компаниями, чтобы позволить не разработчикам писать бизнес-правила (например, оценить следующее выражение, чтобы решить, предлагает ли ваш магазин скидку: 'user ["isActive"] == true and product ["price"]> 20'
).
Создание URL-адресов в консольных командах и любых других местах за пределами веб-контекста является сложной задачей, поскольку Symfony не имеет доступа к текущему хосту, базовому URL-адресу и т. д.
Официальный AWS SDK для PHP упрощает интеграцию сервисов Amazon AWS (Amazon S3, Amazon DynamoDB и т. д.) В ваши PHP-приложения. Этот SDK является полным набором функций, обеспечивающим поддержку более 200 сервисов AWS (с помощью 8000 методов).
@Ignore
В Symfony 5.1 добавлена новая аннотация @Ignore
, позволяющая игнорировать некоторые значения при сериализации. Вы можете применить аннотацию как к свойствам, так и к методам.