Size: a a a

2020 December 15

AN

Alexander Nazarov in symfony
Скорее всего вам стоит разобраться в "как будто застревает". Что конкретно происходит?
источник

VM

Volodymyr Melko in symfony
STEM
Не я писал. Там какой-то экстрактор для DTO, у которого в конструкторе RequestStack
ну перепиши
источник

AN

Alexander Nazarov in symfony
То есть, вы не понимаете как отработал код, и хотите повторно собрать контейнер, чтобы хакнуть из заднего хода, эту проблему.
источник

AD

Andrey Dembitskyi in symfony
STEM
Всем привет. Подскажите, пожно ли как-то в phpunit заставить контейнер "обновить" определенный класс, чтобы он еще раз его через autowiring подхватил? В одном тесте есть проблема при нескольких запросах в апи реквест из первого запроса как будто "застревает" в одном из классов и остается в контейнере. Ну и, соответственно, при повторной отправке запроса используется уже старый реквест
Check
- Symfony\Component\DependencyInjection\ResettableContainerInterface
- https://symfony.com/doc/current/reference/dic_tags.html#kernel-reset

Ну и отрефакторить этот класс скорее всего возможность будет, там ведь в конструкторе getCurrentRequest?
источник

АЯ

Андрей Ява in symfony
STEM
Не я писал. Там какой-то экстрактор для DTO, у которого в конструкторе RequestStack
уберите реквест стек из конструктора и передавайте его как параметр,
источник

АЯ

Андрей Ява in symfony
вообще  обрабатываемые данные не очень хорошо складывать в конструктор (или сетить как свойство любыми другими способами). на крайняк в случае каких-то билдеров, надо убедиться что он одноразовый, каждый раз создаётся новым и был уничтожен сразу после того, как сбилдил необходимый обхект
источник

DK

Dmitry Khaperets in symfony
Вдруг кому будет нужно превращение данных из запроса в DTO - https://github.com/symfony-bundles/request-argument-resolver-bundle
источник

i

invariance in symfony
А чем стандартный резолвер не подошел?
источник

i

invariance in symfony
Или это он и есть?
источник

DK

Dmitry Khaperets in symfony
invariance
А чем стандартный резолвер не подошел?
Да, он и есть
источник

VS

Vlad Sobenko in symfony
Dmitry Khaperets
Вдруг кому будет нужно превращение данных из запроса в DTO - https://github.com/symfony-bundles/request-argument-resolver-bundle
Каждый раз писать в аннотациях класс и имя не удобно. Можно кастомным ресолвером решить это автоматом через интерфейс.
источник

DK

Dmitry Khaperets in symfony
Vlad Sobenko
Каждый раз писать в аннотациях класс и имя не удобно. Можно кастомным ресолвером решить это автоматом через интерфейс.
Когда нужно засетить данные в класс из вендоров, интерфейс не поможет 😔 По этому и такое решение
источник

VS

Vlad Sobenko in symfony
Dmitry Khaperets
Когда нужно засетить данные в класс из вендоров, интерфейс не поможет 😔 По этому и такое решение
И часто такое нужно?
источник

DK

Dmitry Khaperets in symfony
Vlad Sobenko
И часто такое нужно?
Увы, но да. Когда бизнес-логика в вендорах отдельным пакетом 🤢
источник

VS

Vlad Sobenko in symfony
Dmitry Khaperets
Увы, но да. Когда бизнес-логика в вендорах отдельным пакетом 🤢
В ридми у тебя не так. Не задуривай людям голову. И опиши, что решение для случаев, когда дто лежит в вендоре.
источник

DK

Dmitry Khaperets in symfony
В ридми банальный пример 😁
источник

Kd

Konstantin dmz9 in symfony
ктонить сталкивался с 500 ошибкой`Invalid resource provided` при использовании ICU MessageFormat?
хочу аутентично сделать плюралы. как делать на коленке без этой хуйни и так понятно ) но хотел взять то что "должно" работать, отсюда
https://symfony.com/doc/5.1/translation/message_format.html
сделал тупо как по примеру, num_of_apples plural, но в итоге получаю ошибку
Symfony\Component\Translation\Exception\
InvalidResourceException
in /vendor/symfony/translation/Loader/XliffFileLoader.php (line 66)
источник

Kd

Konstantin dmz9 in symfony
причем тут хлиф загрузчик вообще в душЭ не знаю, все переводы на yaml
источник

А

Антон in symfony
Dmitry Khaperets
Вдруг кому будет нужно превращение данных из запроса в DTO - https://github.com/symfony-bundles/request-argument-resolver-bundle
Этому фокусу сто лет в обед. Куча пакетов на эту тему есть. Хз зачем еще один.
источник

KB

Kirill Bondarenko in symfony
подскажите плз, как правильно создавать dto из ответов от внешнего сервиса:
1. добавить именованный конструктор в dto (например createFromResponse), закрыть __construct и по коду использовать
SomeServiceDto::createFromResponse($data)
2. передавать все аргументы в __construct(), сделать прослойку (нормалайзер или фабрику), которая будет выгребать все поля из массива и пробрасывать в конструктор
new SomeServiceDto($data['property1'], $data['property2'],..., $data['propertyN'])
3. другой вариант

зы в ответе может быть структура с 20+ полей. сторонние либы не используются
источник