Maks
https://symfony.com/doc/current/messenger.html#envelopes-stamps
Vadim
Maks
Vadim
что имеешь в виду?)
Кидаешь из сущности событие, а обработчики (те, что имплементят MessageHandlerInterface) запускать на пост флаше.
Maks
сложно...
Maks
по сути вот что мне нудно было
Maks
Vadim
сложно...
https://pastebin.com/Jy0Gzg8f
Maks
Maks
нет конечно)
std::mechanicus
Сложна
std::mechanicus
Не понятно
Vadim
Не фесора. Она была задолго до.
std::mechanicus
сложные преколы
artem
всем привет) а никто ничего не слышал об этом rfc?
https://wiki.php.net/rfc/named_params
Vadim
Слышали.
artem
там вообще по нему продвижения какие то есть?
Vadim
> 2013 год
> 2020 год
Ты как думаешь?
artem
ну думаю не приняли и врядли в ближайшие версии вообще вспомнят
Bekzod
Bekzod
Здравствуйте, я покапался в симфони а точнее в роутере и заметил эти строчки. Я хотел узанть как роутер или ресолвер получает доступ к контейнеру чтобы создать зависимости и внедрить их в конструтор контроллера. Но здесь контроллер создается просто через new class. Как так? а если я что то импортирую в конструкторе? Можете помочь понять этот момент спасибо.
Vadim
Ну так это просто инстанс. Смотри дальше, где диспатчатся события FilterControllerEvent и FilterControllerArgumentsEvent, там уже собираются аргументы, достаются нужные сущности по парам конвертеру и так далее.
Bekzod
Хмм хорошо спасибо
Vadim
Bekzod
А этим ресолверам объект контейнера передается через конструктор?
std::mechanicus
Bekzod
Bekzod
Vadim
Vadim
Остальным не нужен он
Vadim
Vadim
Автовайринг - это когда сам контейнер знает, что нужно твоим сервисам, а не ты инжектишь в свои сервисы контейнер
Bekzod
Понятно, спасибо почитаю про автовайринг.
Ilya 🃏
Привет всем, может кто направить на путь истинный?)
Как нужно правильно делать, если мы в сервис А интегрируем сервис Б, а в какой-то момент понадобилось и в сервис Б внетрить сервис А, но наступает циркулярка. Как правильно все оформить в этом случае? Я напрямую в конструктор каждого сервиса интегрирую другие сервисы, типа того:
public function __construct(
EntityManagerInterface $entityManager,
ParameterBagInterface $parameterBag,
Services\Storage $storage,
Services\School $school,
Services\Lesson $lesson
)
{
$this->entityManager = $entityManager;
$this->parameterBag = $parameterBag;
$this->storage = $storage;
$this->school = $school;
$this->school = $lesson;
}
Ilya 🃏
Может есть какие базовые доки в этом плане? Гугл не дал особых результатов, везде решаются локальные проблемы, но не базовые
Vadim
Сервис А принимает Б, который принимает А?
Ilya 🃏
Сервис А решает штуки с Entity A, а сервис Б отвечает за штуки Entity Б. И так вышло, что в какой-то момент они стали друг на друга ссылаться в методах
G
Либо через сеттеры инъектить, либо выносить общую функциональность в сервис В (что лучше)
G
Оч редко бывает, когда области ответственности действительно пересекаются. Мне кажется, вам нужно лучше разделить сервисный слой на сервисы. Скорее всего, их должно быть больше, чем два.
Ilya 🃏
Ну там не совсем общая функциональность. Если уточнить, то у нас есть Занятия (А) и Домашние задания (Б).
Когда мы получаем Занятие (А), то отмечаем Домашку как прочитанную (обращаемся к методу Б).
Но тут пришлось обратиться к Занятию (А) из сервиса Домашки (Б) , чтобы при верном решении Домашки (метод Б) указать Занятие (А) пройденным. Делается это через метод Занятие (А), конечно же.
Ilya 🃏
Т.е. сами по себе методы довольно плотно принадлежат своим ентити:
Отметить занятие пройденным - принадлежит Занятию.
Отметить домашку прочитанной - принадлежит Домашке.
Ilya 🃏
Сервисам*
Ilya 🃏
Как решение была предложена идея сделать серсис-агрегатор, который будет содержать в себе все сервисы и через который к ним можно будет обращаться
Ilya 🃏
Можно ли так делать?
Ilya 🃏
Я пока еще не продумал до конца, сможет ли это привести опять же к циркулярке)
Ilya 🃏
Т.е. появляется сервис Ц, который содержит в конструкторе сервис А и Б. И подключаем его к обоим сервисам...
Ilya 🃏
Привело...)
HaSh
Всем привет.
Нид хелп.
Создал я проект с нуля на симфони 4,3.
Добавил psysh что бы интерактивно с эти всем играться через PsyshBundle.
В src создал свой бандл HalitBundle.
Создал там простейший сервис.
Конфиг к нему.
DependencyInjectionExtension, как в документации описано
Теперь, хочу проверить
$ bin/console debug:config HalitBundle
и получаю фигу.
The extension with alias "halit" does not have configuration.
Может кто подскажет, где собака зарыта?
HaSh
Через psysh, говорит, что нет такого сервиса в контейнере.
Vadim
Configuration сделал?
HaSh
HaSh
https://symfony.com/doc/current/bundles/configuration.html
HaSh
Да, вроде пробывал, не прокатило.
Vadim
Да
HaSh
Ща еще раз попробую.
HaSh
HaSh
Все так же.
HaSh
HaSh
Vadim
HaSh
HaSh
Я так понимаю, что если все верно, он должен в контейнер, мой сервис положить
HaSh
HaSh
Но там только контроллер попадает, да и то потому что я его в роутах прописываю
HaSh
Михаил
Vadim
Ilya 🃏
Maks
Суп, новички! А еще холиварят на тему пробелы/табы, 4/2?
Vadim
Maks
в сериале? какой сезон?
Maks
Alexander
😂
Anonymous
Привет. А когда джойнишь связи в конструкторе запросов, нужно ли прописывать условие связывания или доктрина его автоматически подставит на основе метаданных связей?
Vadim