
Sergey
12.08.2018
20:19:51

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

Evgeniy
12.08.2018
20:21:18

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
в ларке там все сильно прибито внутри

Alexander
12.08.2018
20:24:10

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%"
можно даже с автовайрингом) но не для мэпы

Alexander
12.08.2018
20:28:12

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
опять же в этом всем смысл только для того что бы можно было остальные аргументы завайрить

Bohdan
12.08.2018
20:29:42

Sergey
12.08.2018
20:29:52

Alexander
12.08.2018
20:29:59

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

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

Sergey
12.08.2018
20:30:12

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
попытка соскочить с Yii на симфонию

Sergey
12.08.2018
21:29:01

Shmaltorhbooks
12.08.2018
21:31:04

Bohdan
12.08.2018
21:31:05