@symfony_ru

Страница 137 из 138
Yuri
15.10.2018
19:29:38
просто смотришь, если degub true $container->get('service_echo')->setDebug(true);

хотя это тож так себе )

Anton ?
15.10.2018
19:30:03
проставит setDebug(true) там где нужно
А откуда он узнает где нужно? Для каждого ендпоинта разный набор объектов

Yuri
15.10.2018
19:30:03
нельзя типа юзать контейнер

Google
Yuri
15.10.2018
19:30:21
ну так ты пробрось в листенер всю нужную инфу

и расскажи ему сам об этом

просто эндпоинт менеджер же долэен быть наверное

там все эндпоинты с настройками

Anton ?
15.10.2018
19:30:52
Так нет такой инфы. Чистый реалтайм

Yuri
15.10.2018
19:31:05
ну так ты эндпоинт из реквеста знаешь

куда чел пришел ты же знаешь, знаешь эндпоинт

Anton ?
15.10.2018
19:31:46
Да. Но не знаю какие сервисы понадобятся.

Yuri
15.10.2018
19:31:55
вот и пропиши там switch($endpoint) {case '/get/': }

Да. Но не знаю какие сервисы понадобятся.
ну ты расскажи сначала себе какие сервисы там нужны, конфигом расскажи это симфони, и юзай на здоровье. Ну а если быстро, то можно захардкодить конфигу для каждого эндпоинта

прописать в него endpoiunt=>[ServiceName::class,ServiceName2::class,]

но я такого не советовал ) это жесть

лучшее решение = рефакторинг

Google
Anton ?
15.10.2018
19:35:35
ну ты расскажи сначала себе какие сервисы там нужны, конфигом расскажи это симфони, и юзай на здоровье. Ну а если быстро, то можно захардкодить конфигу для каждого эндпоинта
Ещё хуже вариант чем щас)) ендпоинты добавляютя и меняются. Ты предлагаешь добавить ещё одно место в которое нужно не забывать вносить правки

Yuri
15.10.2018
19:36:23
ну код скинь, я хз как тебе подсказать

Anton ?
15.10.2018
19:36:59
Чего конкретно код

Yuri
15.10.2018
19:41:06
ну например как ты получаешь эндпоинты и как понимаешь куда бежать по ним ? Че юзаешь аннотации или yaml config-и ?

у тебя ж эндпоинты закреплены в конфиге , на них отзывается контроллер вот тут и нужно конфигурировать как-то тебе чтоб понимать

но вообще сама задача звучит как "такое нельзя делать"

"предотвратить челочеческий фактор, чтоб разрабы не забывали прописывать debug=true" - тут нужно завязаться просто на какую нибудь константу и прописать ее во все сервисы, чтоб когда она true все сервисы были в degub=true Или пробросить в баз класс сервиса от которого наследуются все сервисы нужный еще один сервис в этом еще одном сервисе задать gebug=false (default value), а вот этот еще один сервис конфигурировать через Listener (OR Subscriber), но во все сервисы нужно прописать эту зависимость от еще одного сервиса, который конфигурируется через event filter before request

)

так или иначе, создается еще одно место ) как прозвучало... (одно место) )

да и баз классу нужно пробросить зависимость DebugService $service, а ее пробросить через конфиг и будет тебе счастье

получилось чего ? расскажи как решил ок ? просто интересно

Anton ?
16.10.2018
03:42:22
не смотрел ещё, это больше архитектурная задача, на будущее так сказатб

да и баз классу нужно пробросить зависимость DebugService $service, а ее пробросить через конфиг и будет тебе счастье
как я проброшу её через конфиг если на этапе чтения конфига не известно будет дебаг или нет?)

такое ощущение что нужно делать что-то типа фабрики, в которую пробрасывать: контейнер и объект который может определить нужно ли выводить дебаг инфу и чтоб она сама конфигурила объекты

и как-то заставить весь DI брать объекты из неё

Yuri
16.10.2018
09:10:25
как я проброшу её через конфиг если на этапе чтения конфига не известно будет дебаг или нет?)
ну на момент чтения конфига, да. EventListener будет менять значение перед тем как выполнится запрос . Осталось тебе решить как узнать какие сервисы задйствованы

Terminator
16.10.2018
20:01:40
Сергей Исмагилов будет жить. Поприветствуем!

@AlexeySamara будет жить. Поприветствуем!

Yuri
17.10.2018
10:58:33
Alexander
17.10.2018
10:59:29
@byhaskell Привет ! как решил проблему ?
Привет. В моем случае связь не верная, нужно было ManyToMany,а я липил OnetoMany

Google
Yuri
17.10.2018
11:17:26
ну понял, сорян я не догнал )

Alexander
17.10.2018
11:19:19
Тут такое, пока в коде сам что то не начнешь пробовать и подсказать трудно ? чужие бока тоже не сразу видны)

Terminator
17.10.2018
11:38:50
@Kingkonng будет жить. Поприветствуем!

Андрей
17.10.2018
14:18:50
Народ, помогите, пожалуйста. Вопрос о 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?

ребят, помогите плиз(

U_mulder
17.10.2018
14:32:25
ну а сейчас в селекте что выводится?

Андрей
17.10.2018
14:37:18
Не знаю, оно ругается на скобку перед ->add('save.. Вот пытаюсь увидеть где я ошибся) ->add('position', EntityType::class, array( 'class' => 'Positions::class', 'choice_label' => 'name', ), ) ->add('save', SubmitType::class, array('label' => 'Добавить пользователя')) ->getForm();

U_mulder
17.10.2018
14:40:24
запятую надо бы убрать ), это не массив у вас

и не php7.3 наверняка

Андрей
17.10.2018
14:41:41
да, убрал. теперь исправляю другие ошибки

да php не 7

5.6

я что-то неправильно написал?

Unknown Entity namespace alias 'Positions'. сейчас вот такая ошибка, хотя имя правильное и use AppBundle\Entity\Positions; прописал

'class' => 'Positions::class', вот здесь тоже исправил, надо было один раз : ставить

U_mulder
17.10.2018
14:45:18
Вообще надо писать 'class' => Positions::class

без кавычек и с ::

Google
Андрей
17.10.2018
14:48:08
Большое спасибо! Все работает идеально. кавычки и одинарное : скопировал с документации с офф сайта. к сожалению там часто подобные ошибки(

U_mulder
17.10.2018
14:50:01
сделайте пулреквест, почините документацию

Андрей
17.10.2018
14:52:44
окей, попробую)

U_mulder
17.10.2018
14:55:35
но для symfony3 это не ошибка

Admin


U_mulder
17.10.2018
14:56:45
Там же явно видно что 'class' => 'AppBundle:User', где AppBundle - название БАНДЛА а User - название КЛАССА

Aleksandr
17.10.2018
14:57:09
что-то я в оф. документации ошибок не встречал

U_mulder
17.10.2018
14:57:42
ну критичных ошибок там нет, так опечатки мелкие

Aleksandr
17.10.2018
14:58:26
чаще бывает или версия друга сф или пхп или ещё что-то подобное

некоторые до сих пор на 7 не перейдут)

Андрей
17.10.2018
15:01:25
мне задание на джуна дали на э

этой версии

так что это не от меня зависит(

Aleksandr
17.10.2018
15:02:03
подозрительно)

Андрей
17.10.2018
15:02:39
а ошибюки там периодически встречаются в статьях для 3.3 версии симфони, типа кавычек лишних. Потом просто гуглю ошибку и нахожу на стаке как правильно

U_mulder
17.10.2018
15:02:59
ну почему, может там на LTS сидят до след года.

Андрей
17.10.2018
15:03:30
подозрительно)
мне кинули файлы проекта, сказали что надо сделать. В конфиге нашел версию 3.3 До этого самообучался с помощью 4 версии)

Aleksandr
17.10.2018
15:04:06
я вообще про пхп говорил

Андрей
17.10.2018
15:04:26
php 5.6 тоже по заданию

оно само там разворачивается

Google
Андрей
17.10.2018
15:04:35
я ничего не выбирал)

Anton ?
17.10.2018
15:16:22
Решил задачку? Интересно просто, мож пригодится
да тупо в конфиге сделал условие которое делает $debug true/false, а потом прокидывает в классы

думал через фабрику, но фабрика не умеет autowire делать для объектов, ну или я не понял как это сделать

Yuri
17.10.2018
15:30:41
да тупо в конфиге сделал условие которое делает $debug true/false, а потом прокидывает в классы
ну а как прописал-то ? че не делишься? Решение то прикольное нашел ?

как ты там условие прописал в зависимости от GET параметра ?

Anton ?
17.10.2018
15:32:09
да прям из глобаных переменных читаю

Андрей
17.10.2018
15:40:30
Подскажите, пожалуйста, как можно узнать существует ли день? например, у меня есть дата 31 02 2019 Но ведь этого дня не существует

ну или переобразовать в норм формат, то есть 03 03 2019

Yuri
17.10.2018
15:42:15
может не нужно узнавать существует или нет ?

Андрей
17.10.2018
15:44:55
у меня в форме есть возможность выбрать дату 31 02 2019 как это ограничить я не нашел, так что решил просто проверять\переобразовывать. Сейчас читаю то, что Вы скинули, мб это решит мой вопрос

Yuri
17.10.2018
15:47:33
ну так прикрути к форме календарь (js). Вроде там само оно просчитывается и пользователь не ошибется при выборе даты. Может я не прав конечно.

или предполагаешь что в верстке поменяет в ручную ? и хочешь как-то обезопаситься

?

от чего только

Страница 137 из 138