@prophp7

Страница 1257 из 1387
Sergey
12.08.2018
20:19:51
На кой ляд ему локаторы, компайл-пассы и классы над массивами?
1. я и говорю что он может просто передать мэпу сервисов 2. в этом случае все сервисы будут инстанцированы, вдруг их много 3. локатор делается в том же yaml без компайл пасов

вот как-то с PHP-DI таких вопросов не возникало
потому что там php dsl а не ебалово с yaml?)

Alexander
12.08.2018
20:20:35
Evgeniy
12.08.2018
20:20:38
php-di кстате вполне норм внутри)

Google
Evgeniy
12.08.2018
20:20:45
но мне моя либа больше нравиться)

для тех кто не знает <тут ссылка само пиара> xD

Sergey
12.08.2018
20:21:03
p.s. в симфони можно было с самого начала ебашить на php все конфиги. Ну и я все еще не смотрел их php-dsl

но мне моя либа больше нравиться)
больше велосипедов богу велосипедов

Sergey
12.08.2018
20:21:22
не хочу)

не буду

Evgeniy
12.08.2018
20:21:34
считай есть symfony di, pimple, php-di

это из известных

не хочу)
да я не в этом плане смотреть )

Sergey
12.08.2018
20:21:48
ты забыл zend-овский, и есть еще пяток попроще

Evgeniy
12.08.2018
20:21:57
вот почему они не реюзали ?)

Sergey
12.08.2018
20:22:04
и pimple из этого списка вычеркни

Google
Evgeniy
12.08.2018
20:22:07
ну да еще у ларки

Sergey
12.08.2018
20:22:23
вот почему они не реюзали ?)
потому что они развивались паралельно в разное время

у PHP-DI была чуть другая философия изначально, как и у Symfony DI

Evgeniy
12.08.2018
20:22:40
league di

Sergey
12.08.2018
20:23:17
тут не забывай NIH синдром + у них камень предкновения - возможность автовайринга. Напомню что в симфони автовайринг уже позже появился чем он был реализован в php-di и в league di

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

Evgeniy
12.08.2018
20:24:08
в ларке там все сильно прибито внутри

Evgeniy
12.08.2018
20:24:18
Application extends Container xD

там примерно такое )

Sergey
12.08.2018
20:24:35
ну я о том и говорю

Alexander
12.08.2018
20:24:42


Evgeniy
12.08.2018
20:24:59
я недавно в lumen свой di хотел впихнуть

Sergey
12.08.2018
20:25:00
тот факт что ты сделал еще один DI контейнер говорит лишь о том что NIH синдром все еще правит бал

Alexander
12.08.2018
20:25:02


Evgeniy
12.08.2018
20:25:07
там все не так просто заменить)

Sergey
12.08.2018
20:25:28
тут не так надо

arguments: - Foo: @Bar Bar: @Baz

короч смотри как в yaml задать массив мэп)

Google
Alexander
12.08.2018
20:26:29
а теперь интересный момент: я захочу передавать второй аргумент, и, похоже, всё сдохнет =(

Sergey
12.08.2018
20:26:38
``` arguments: - Foo: @Bar Bar: @Baz - "Second argument" ```

блин... телеграм такой телеграм

Shmaltorhbooks
12.08.2018
20:27:22
Чот мне кажется, что проблема не в DI или его реализации в конкретном движке, а в понимании синтаксиса

Sergey
12.08.2018
20:27:57
можно даже вот так что б совсем красиво: arguments: $nameOfFirstAgument: Foo: @Foo Bar: @Bar $nameOfSecondArgument: "%some_param%"

можно даже с автовайрингом) но не для мэпы

Sergey
12.08.2018
20:28:32
yaml хитрый и оч мощный (и оч легко проебаться)

Bohdan
12.08.2018
20:28:47
с баксом - это когда у тебя имя в конфиге совпадает с именем в конструкторе

Sergey
12.08.2018
20:29:10
с баксом - это когда у тебя имя в конфиге совпадает с именем в конструкторе
не только, ты можешь и для вызовов методов это походу юзать, не пробовал только.

Sergey
12.08.2018
20:29:39
опять же в этом всем смысл только для того что бы можно было остальные аргументы завайрить

Sergey
12.08.2018
20:29:52
не понял для calls?
да, могу ошибаться

Alexander
12.08.2018
20:29:59
yaml хитрый и оч мощный (и оч легко проебаться)
я до этого с ямлом работал только когда писал docker-compose файлы, там как-то не возникало желания монитор в стену кинуть

Sergey
12.08.2018
20:30:02
я практически не юзаю calls что бы знать как оно работает)

Bohdan
12.08.2018
20:30:11
аргументы для методов? да, возможно, будет работать по крайней мере, было бы логично) та же фигня :D

Alexander
12.08.2018
20:30:37
меня ансиблом совращали, но я не поддался

Google
Evgeniy
12.08.2018
20:30:55
ансибл классная штука

Alexander
12.08.2018
20:31:20
ансибл классная штука
когда есть где применить

а у нас им админы рулят

Evgeniy
12.08.2018
20:31:38
ну он жизнь админам и упрощает

но там есть нюансы некоторые

Alexander
12.08.2018
20:31:54
ну и пущай себе рулят ансиблом, а мне докеры локально поднимать можно и без него)

Bohdan
12.08.2018
20:33:03
ниасилил ансибл, юзаю докер в проде /shrug

Alexander
12.08.2018
20:33:28
ну у нас вот начался вроде переход на докеры

только не очень понимаю зачем

локально — да, збс

Admin
ERROR: S client not available

Alexander
12.08.2018
20:34:23
вроде тема с ансиблом работает... "не трожь руками что работает и так"

хотя вроде как начать хотят с тестовых сред, посмотрим что из этого выдет

Bohdan
12.08.2018
20:35:37
в моей ситуации - появилось больше сервисов, девопс - фиг достучишься, а ансибл осваивать нормально самому не хотелось - слишком уж девопсятня

Alexander
12.08.2018
20:36:41
ну у нас всё равно 70% сервисов руками управляются, так что хз...

хотя если подумать... у нас сервер очередей это yii2-queue+redis, можно на этом заканчивать)

и сразу мапа с сервисами и понятно в какой аргумент эта мапа пошла не по порядку, а по названию, каеф



на выходе получил такое Cannot autowire service "App\CommandBus\DefaultCommandBus": argument "$handlerMap" of method "__construct()" is type-hinted "array", you should configure its value explicitly.

Google
Shmaltorhbooks
12.08.2018
21:24:45
Та укажи ты просто как массив все сервисы, без указания имени аргумента

Причём даже без ключей, чисто массив, а не мап/хэш

Sergey
12.08.2018
21:25:59
Причём даже без ключей, чисто массив, а не мап/хэш
ему соответствия командам нужны походу

для простого роутинга

Shmaltorhbooks
12.08.2018
21:26:41
Так можно это и в код вынести, в какой-то supports() метод

Sergey
12.08.2018
21:26:52
можно но зачем?)

Shmaltorhbooks
12.08.2018
21:27:09
И с другой стороны - можно вот такой массив как ты писал передавать

Sergey
12.08.2018
21:27:09
хотя как, понятно зачем - что бы не надо было править в одном месте... хотя... почему бы и нет

быстро, просто, удобно. Но опять же для такой задачи идеально подходят сервис локаторы)

и не надо будет хэндлеры все ленивыми делать/инстанцировать все сразу

https://symfony.com/blog/new-in-symfony-3-3-service-locators

к слову именно тот пример что требуется)))

Alexander
12.08.2018
21:28:08
Sergey
12.08.2018
21:28:14
конечно

Shmaltorhbooks
12.08.2018
21:28:24
можно но зачем?)
Чтоб если ответственность о том, кто хэндлит, выйдет за рамки строковых значений - всё бы уже работало "искаробки"

Artem
12.08.2018
21:28:26
https://symfony.com/doc/current/service_container/service_subscribers_locators.html

Sergey
12.08.2018
21:28:28
у меня мой graphql сервер так ресолверы разруливает

Alexander
12.08.2018
21:28:53
у меня мой graphql сервер так ресолверы разруливает
ну вот и тут gql сервер по идее должен получиться

попытка соскочить с Yii на симфонию

Sergey
12.08.2018
21:29:01
Bohdan
12.08.2018
21:31:05
у меня мой graphql сервер так ресолверы разруливает
осталось перевести его на аннотации или придумать че поудобнее тегов)

Страница 1257 из 1387