Browsing category Symfony

Yandex Message Queue в Symfony Messanger


В веб-приложениях часто требуется выполнять некоторые операции асинхронно. Для этого используются очереди сообщений. Можно использовать протокол AMQP, например RabbitMq или Kafka. В рамках облаков часто используется Amazon SQS. В России же есть Yandex, который в рамках Yandex Cloud предоставляет сервис Message Queue, который является реализацией протокола Amazon SQS. Таким образом, инструменты разработчика от SQS подходят

Миграция Doctrine с аннотаций на атрибуты


Начиная с PHP 8 в PHP были добавлены атрибуты, которые доступны теперь нативно. В будущем они полностью заменят аннотации. Библиотеки стали переходить на использование нативного синтаксиса. Если вы используете doctrine, то при миграции на новую версию PHP возникает задача миграции аннотаций на атрибуты. Сделать это можно при помощи rector. Для этого нужно: Добавить rector как

Как задавать права доступа в Symfony используя базу данных (Voters used database)


С тех пор, как вся конфигурация Symfony кешируется с контейнером для лучшей производительности , мы по очевидным причинам не должны использовать базу данных что бы где-то «напечатать» новую конфигурацию, нам нужно что-то умнее. Использование Symfony Voters Symfony использует Voters что бы определить доступ к URL и другим ресурсам. Множество voters которые входят в комплект поставки

Как тестировать приватные сервисы в Symfony.


2 версии Symfony подвержены рассогласованностью между сервисами и тестами. Вы используете Symfony 3.4 или 4.0? Вы хотите тестировать сервисы, но не знаете как получить их правильно? Сегодня мы посмотрим на возможные решения.

Деревья в PHP + Twig 2.0


Предположим, есть задачка, вывести дерево. Под рукой PHP, а как view — Twig. Пусть структура данных на backend будет такой: $tree = [ [ ‘name’ => ‘foo’, ‘children’ => [ [ ‘name’ => ‘bar’, ‘children’ => [ [ ‘name’ => ‘baz’, ‘children’ => [ ], ], [ ‘name’ => ‘baz’, ‘children’ => [ ], ],

Миграция пользователей на безопасный алгоритм хеширования в Symfony


Ваше приложение может использовать старый, небезопасный алгоритм хеширования для хранения пароля, такой как MD5 (без использования соли) Эта статья объясняет как преобразовать уже имеющиеся пароли, зашифрованные уязвимым алгоритмом в пароли зашифрованные с использованием безопасного метода хеширования (например с использованием Bcrypt ) Что бы решить проблему, мы сделаем конвертацию на лету, когда пользователь успешно входит в

ORDER BY RAND() in Doctrine without implement a new Doctrine function


Предположим, что нам нужно выбрать N строк из базы данных и отсортировать их случайным образом. При этом у нас нет возможности (или желания) реализовывать функцию rand() в Doctrine.  В MySQL эта задача решается очень просто: SELECT column FROM table ORDER BY RAND() LIMIT 10 Но если вы используете DQL (Doctrine Query Language) это будет не

Яндекс.Метрика