Статьи с тегом «Symfony»

BackendSymfony

Сокращаем размер конфигов Symfony до минимума

Считаю, что в каждом приложении Symfony можно уместить сервисный конфиг в 5 строк. Я поделюсь двумя техниками, которые использую последние пару лет для достижения наилучшей архитектуры с наименьшим количеством строк.
BackendSymfony

Модернизация конфигурации Symfony

Конфигурация Symfony — одно из тех изменений, которые трудно заметить, пока они не будут удалены в следующей мажорной версии. Тогда приходится гуглить "сообщение об ошибке invalid option id" и надеяться на решение. Не самый лучший способ провести выходные, не так ли?
BackendSymfonySecurity

Введение в CSRF-токены в Symfony

Начиная знакомство с Symfony, часто приходится следовать документации, не всегда понимая значение тех или иных механизмов. В этом контексте стоит поближе рассмотреть токены CSRF, которые на первый взгляд могут показаться дополнительным усложнением, но их роль крайне важна для безопасности приложения. В этой статье я расскажу, почему CSRF-токен так важен, и проиллюстрирую это на примере популярной социальной сети, которая столкнулась с проблемами безопасности из-за недостаточной проверки этих токенов.
BackendSymfonySecurity

Противодействие Login CSRF с помощью Symfony

Подделка межсайтовых запросов (CSRF) - одна из традиционных уязвимостей, с которыми приходится сталкиваться веб-приложениям. Все веб-фреймворки, включая Symfony, поддерживают защиту от CSRF из коробки. Менее известной уязвимостью является Login CSRF, особый вид CSRF-атаки.
BackendSymfony

Новое в Symfony 6.4: Маршруты на основе FQCN

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

Symfony: лучший способ быстрого запуска проектов

При создании новых проектов Symfony вы можете начать с bare-bones skeleton или kitchen sink skeleton. Я никогда не использовал kitchen sink skeleton, так как предпочитаю начинать с минимального количества зависимостей и добавлять пакеты только тогда, когда они мне нужны. Symfony делает это безболезненным, так как в большинстве случаев сообщает, какой пакет добавить, когда вы пытаетесь использовать что-то, что ещё не входит в ваш набор зависимостей.
SymfonyBackend

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

Улучшения в Symfony 5.4: более длинные интервалы для компонента RateLimiter; простой способ создания ошибок в компоненте Validator; блокировка файлов при добавлении данных в методе Filesystem; экстрактор метаданных PhpStan для компонента PropertyInfo
SymfonyBackend

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

Улучшения в Symfony 5.4: настраиваемый статус-код HTTP для шаблонов из маршрутов; новый метод innerText() в компоненте DomCrawler; рекурсивная поддержка .gitignore в компоненте Finder, и новая команда для отладки переменных окружения.
SymfonyBackend

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

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

Новое в Symfony 5.4: Улучшения компонента Messenger

В Symfony версии 5.4 значительно улучшили компонент Messenger, теперь можно любой класс назначить обработчиком компонента, стало проще получать метаданные воркера и появилась обработка сообщений в пакетном режиме.
SymfonyBackend

Symfony: Обновление основной версии (c 5.4.0 до 6.0.0)

Каждые два года Symfony выпускает новый релиз основной/мажорной версии (изменяется первый номер). Эти выпуски довольно сложно обновить, поскольку они могут нарушать обратную совместимость. Однако, Symfony максимально упрощает процесс обновления. Это означает, что вы можете обновить большую часть своего кода до того, как основная версия будет выпущена в релиз. Это называется "сделать ваш код совместимым с будущим релизом".