В Symfony 4.3 улучшили компонент Workflow с множеством основных и второстепенных функций. В этом блоге кратко изложены наиболее важные из них.
Мечтатель, путешественник, программист 👨💻 🌏 ✈️ 📷
В Symfony 4.3 улучшили компонент Workflow с множеством основных и второстепенных функций. В этом блоге кратко изложены наиболее важные из них.
Symfony включает внутренний компонент Inflector, в обязанности которого входит преобразование английских слов из множественного числа в единственное. Он используется в компонентах PropertyInfo и PropertyAccess, чтобы найти единственную форму имени свойства:
Список ограничений Symfony охватывает большинство общих требований к проверке веб-сайтов и приложений. Тем не менее, продолжаем прислушиваться к вашим отзывам и добавляем новые ограничения, предложенные сообществом.
В Symfony 4.3 мы добавили новое ограничение часового пояса, чтобы проверить, является ли данное значение одним из действительных часовых поясов, определенных PHP (например, Africa/Nairobi).
Компонент Console предоставляет утилиту для автозаполнения ответов на вопросы, созданные с помощью Помощника по вопросам. Это используется, например, для автозаполнения классов и объектов в MakerBundle
для повышения вашей производительности.
Нарушение данных – это преднамеренное или непреднамеренное предоставление защищенной или частной/конфиденциальной информации ненадежной среде. Список нарушений данных увеличивается с каждым днем, и только в первой половине 2018 года было раскрыто около 4,5 миллиарда записей, включая пароли пользователей.
Обычная потребность в некоторых приложениях Symfony – использовать неизменяемые сервисы, в то же время используя черты для составления их дополнительных функций. Хотя сервисный контейнер Symfony поддерживает внедрение сеттера, у него есть некоторые недостатки (например, сеттеры могут вызываться не только во время создания, поэтому вы не можете быть уверены, что зависимость не будет заменена в течение времени жизни объекта).
В приложениях Symfony создавать функциональные тесты просто, благодаря утилитам предоставляемым классом WebTestCase
и утверждениям PHPUnit
. Однако для общих случаев использования (например, для проверки того, что ответ был успешным или он перенаправлен на некоторый URL-адрес) методы assert__()
являются слишком простыми и требуют написания слишком большого количества кода.
Рассмотрим следующую сущность Doctrine:
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Entity */
class SomeEntity
{
// ...
/** @ORM\Column(length=4) */
public $pinCode;
}
В Symfony 4.3 в компонент Validator добавили новое ограничение с именем Unique
, чтобы проверить уникальность элементов коллекции (ни один из них не присутствует более одного раза):
Компонент Finder помогает найти файлы и каталоги на основе различных критериев (имя файла, размер, содержимое, время изменения и т. Д.). Это один из тех компонентов Symfony со скромной целью, но чрезвычайно успешный (более 100 миллионов загрузок и тысячи проектов в зависимости от него).