Anton 🐻
проставит setDebug(true) там где нужно
А откуда он узнает где нужно? Для каждого ендпоинта разный набор объектов
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 🐻
да и баз классу нужно пробросить зависимость DebugService $service, а ее пробросить через конфиг и будет тебе счастье
как я проброшу её через конфиг если на этапе чтения конфига не известно будет дебаг или нет?)
Anton 🐻
такое ощущение что нужно делать что-то типа фабрики, в которую пробрасывать: контейнер и объект который может определить нужно ли выводить дебаг инфу и чтоб она сама конфигурила объекты
Anton 🐻
и как-то заставить весь DI брать объекты из неё
Yuri
как я проброшу её через конфиг если на этапе чтения конфига не известно будет дебаг или нет?)
ну на момент чтения конфига, да. EventListener будет менять значение перед тем как выполнится запрос . Осталось тебе решить как узнать какие сервисы задйствованы
Anonymous
Сергей Исмагилов будет жить. Поприветствуем!
Anonymous
@AlexeySamara будет жить. Поприветствуем!
Alexander
@byhaskell Привет ! как решил проблему ?
Привет. В моем случае связь не верная, нужно было ManyToMany,а я липил OnetoMany
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 🐻
Решил задачку? Интересно просто, мож пригодится
да тупо в конфиге сделал условие которое делает $debug true/false, а потом прокидывает в классы
Anton 🐻
думал через фабрику, но фабрика не умеет autowire делать для объектов, ну или я не понял как это сделать
Yuri
да тупо в конфиге сделал условие которое делает $debug true/false, а потом прокидывает в классы
ну а как прописал-то ? че не делишься? Решение то прикольное нашел ?
Yuri
как ты там условие прописал в зависимости от GET параметра ?
Anton 🐻
да прям из глобаных переменных читаю