Новое в Symfony 4.3: Улучшение компонента инфлектор

Symfony включает внутренний компонент Inflector, в обязанности которого входит преобразование английских слов из множественного числа в единственное. Он используется в компонентах PropertyInfo и PropertyAccess, чтобы найти единственную форму имени свойства:

Новое в Symfony 4.3: Валидатор часовых поясов

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

В Symfony 4.3 мы добавили новое ограничение часового пояса, чтобы проверить, является ли данное значение одним из действительных часовых поясов, определенных PHP (например, Africa/Nairobi).

Новое в Symfony 4.3: Улучшенное автозаполнение консоли

Компонент Console предоставляет утилиту для автозаполнения ответов на вопросы, созданные с помощью Помощника по вопросам. Это используется, например, для автозаполнения классов и объектов в MakerBundle для повышения вашей производительности.

Новое в Symfony 4.3: Валидатор проверки паролей

Нарушение данных – это преднамеренное или непреднамеренное предоставление защищенной или частной/конфиденциальной информации ненадежной среде. Список нарушений данных увеличивается с каждым днем, и только в первой половине 2018 года было раскрыто около 4,5 миллиарда записей, включая пароли пользователей.

Новое в Symfony 4.3: Настройка служб с неизменяемыми установщиками

Обычная потребность в некоторых приложениях Symfony – использовать неизменяемые сервисы, в то же время используя черты для составления их дополнительных функций. Хотя сервисный контейнер Symfony поддерживает внедрение сеттера, у него есть некоторые недостатки (например, сеттеры могут вызываться не только во время создания, поэтому вы не можете быть уверены, что зависимость не будет заменена в течение времени жизни объекта).

Новое в Symfony 4.3: Улучшение тестовых утверждений

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

Новое в Symfony 4.3: Автоматическая валидация

Рассмотрим следующую сущность Doctrine:

use Doctrine\ORM\Mapping as ORM;

/** @ORM\Entity */
class SomeEntity
{
    // ...

    /** @ORM\Column(length=4) */
    public $pinCode;
}

Новое в Symfony 4.3: Уникальное ограничение

В Symfony 4.3 в компонент Validator добавили новое ограничение с именем Unique, чтобы проверить уникальность элементов коллекции (ни один из них не присутствует более одного раза):

Новое в Symfony 4.3: Исключение файлов с помощью Finder

Компонент Finder помогает найти файлы и каталоги на основе различных критериев (имя файла, размер, содержимое, время изменения и т. Д.). Это один из тех компонентов Symfony со скромной целью, но чрезвычайно успешный (более 100 миллионов загрузок и тысячи проектов в зависимости от него).

Новое в Symfony 4.3: URL Env Var Processor

При использовании env vars для настройки Symfony обычно используют URL-адреса для определения значения параметров конфигурации, подобных DSN, например:

# .env
MONGODB_URL="mongodb://db_user:db_password@127.0.0.1:27017/db_name"