Yuri
нельзя типа юзать контейнер
Yuri
ну так ты пробрось в листенер всю нужную инфу
Yuri
и расскажи ему сам об этом
Yuri
просто эндпоинт менеджер же долэен быть наверное
Yuri
там все эндпоинты с настройками
Anton 🐻
Так нет такой инфы. Чистый реалтайм
Yuri
ну так ты эндпоинт из реквеста знаешь
Yuri
куда чел пришел ты же знаешь, знаешь эндпоинт
Anton 🐻
Да. Но не знаю какие сервисы понадобятся.
Yuri
вот и пропиши там switch($endpoint) {case '/get/': }
Yuri
Да. Но не знаю какие сервисы понадобятся.
ну ты расскажи сначала себе какие сервисы там нужны, конфигом расскажи это симфони, и юзай на здоровье.
Ну а если быстро, то можно захардкодить конфигу для каждого эндпоинта
Yuri
прописать в него endpoiunt=>[ServiceName::class,ServiceName2::class,]
Yuri
но я такого не советовал ) это жесть
Yuri
лучшее решение = рефакторинг
Anton 🐻
Yuri
ну код скинь, я хз как тебе подсказать
Anton 🐻
Чего конкретно код
Yuri
ну например как ты получаешь эндпоинты и как понимаешь куда бежать по ним ? Че юзаешь аннотации или yaml config-и ?
Yuri
у тебя ж эндпоинты закреплены в конфиге , на них отзывается контроллер
вот тут и нужно конфигурировать как-то тебе чтоб понимать
Yuri
но вообще сама задача звучит как "такое нельзя делать"
Yuri
"предотвратить челочеческий фактор, чтоб разрабы не забывали прописывать debug=true" - тут нужно завязаться просто на какую нибудь константу и прописать ее во все сервисы, чтоб когда она true все сервисы были в degub=true
Или пробросить в баз класс сервиса от которого наследуются все сервисы нужный еще один сервис
в этом еще одном сервисе задать gebug=false (default value), а вот этот еще один сервис конфигурировать через Listener (OR Subscriber), но во все сервисы нужно прописать эту зависимость от еще одного сервиса, который конфигурируется через event filter before request
Yuri
)
Yuri
так или иначе, создается еще одно место ) как прозвучало... (одно место) )
Yuri
да и баз классу нужно пробросить зависимость DebugService $service, а ее пробросить через конфиг и будет тебе счастье
Yuri
получилось чего ? расскажи как решил ок ? просто интересно
Anton 🐻
не смотрел ещё, это больше архитектурная задача, на будущее так сказатб
Anton 🐻
Anton 🐻
такое ощущение что нужно делать что-то типа фабрики, в которую пробрасывать: контейнер и объект который может определить нужно ли выводить дебаг инфу и чтоб она сама конфигурила объекты
Anton 🐻
и как-то заставить весь DI брать объекты из неё
Anonymous
Сергей Исмагилов будет жить. Поприветствуем!
Anonymous
@AlexeySamara будет жить. Поприветствуем!
Yuri
Yuri
ну понял, сорян я не догнал )
Alexander
Тут такое, пока в коде сам что то не начнешь пробовать и подсказать трудно 😂 чужие бока тоже не сразу видны)
Anonymous
@Kingkonng будет жить. Поприветствуем!
Yuri
ㅤ
Народ, помогите, пожалуйста. Вопрос о symfony 3 и выводе в форму select со значениями из таблицы. Задал на стаке: https://ru.stackoverflow.com/questions/894288/symfony-3-вывод-в-форму-choicetype-select-из-базы-данных
Могу перекопировать сюда, если надо
ㅤ
Как я сейчас уже понял, мне нужно юзать не ChoiceType, a EntityType. Выглядеть будет примерно так:
->add('position', EntityType::class, array(
'class' => 'Positions::class',
'choice_label' => 'name',
),
))
Но как сделать, чтобы в select`e option value было id из таблицы positions, но между <option> and </option> отображалосб name из таблицы positions?
ㅤ
ребят, помогите плиз(
Кирилл
ну а сейчас в селекте что выводится?
ㅤ
Не знаю, оно ругается на скобку перед ->add('save..
Вот пытаюсь увидеть где я ошибся)
->add('position', EntityType::class, array(
'class' => 'Positions::class',
'choice_label' => 'name',
),
)
->add('save', SubmitType::class, array('label' => 'Добавить пользователя'))
->getForm();
Кирилл
запятую надо бы убрать ), это не массив у вас
Кирилл
и не php7.3 наверняка
ㅤ
да, убрал. теперь исправляю другие ошибки
ㅤ
да php не 7
ㅤ
5.6
ㅤ
я что-то неправильно написал?
ㅤ
Unknown Entity namespace alias 'Positions'.
сейчас вот такая ошибка, хотя имя правильное и
use AppBundle\Entity\Positions; прописал
ㅤ
'class' => 'Positions::class', вот здесь тоже исправил, надо было один раз : ставить
Кирилл
Вообще надо писать
'class' => Positions::class
Кирилл
без кавычек и с ::
ㅤ
Большое спасибо! Все работает идеально.
кавычки и одинарное : скопировал с документации с офф сайта. к сожалению там часто подобные ошибки(
Кирилл
сделайте пулреквест, почините документацию
ㅤ
окей, попробую)
Кирилл
но для symfony3 это не ошибка
Кирилл
Там же явно видно что
'class' => 'AppBundle:User',
где AppBundle - название БАНДЛА а User - название КЛАССА
Aleksandr
что-то я в оф. документации ошибок не встречал
Кирилл
ну критичных ошибок там нет, так опечатки мелкие
Aleksandr
чаще бывает или версия друга сф или пхп или ещё что-то подобное
Aleksandr
некоторые до сих пор на 7 не перейдут)
ㅤ
мне задание на джуна дали на э
ㅤ
этой версии
ㅤ
так что это не от меня зависит(
Aleksandr
подозрительно)
ㅤ
а ошибюки там периодически встречаются в статьях для 3.3 версии симфони, типа кавычек лишних. Потом просто гуглю ошибку и нахожу на стаке как правильно
Кирилл
ну почему, может там на LTS сидят до след года.
ㅤ
подозрительно)
мне кинули файлы проекта, сказали что надо сделать. В конфиге нашел версию 3.3
До этого самообучался с помощью 4 версии)
Aleksandr
я вообще про пхп говорил
ㅤ
php 5.6 тоже по заданию
ㅤ
оно само там разворачивается
ㅤ
я ничего не выбирал)
Anton 🐻
думал через фабрику, но фабрика не умеет autowire делать для объектов, ну или я не понял как это сделать
Yuri
Yuri
как ты там условие прописал в зависимости от GET параметра ?
Anton 🐻
да прям из глобаных переменных читаю