Size: a a a

2019 December 25

S

SarcasmIO in PHP
Константин Грачев
можно хешмап держать, если выбор всегда по одной строке
в целом да
источник

КГ

Константин Грачев in PHP
Oleg Arkhipov
То есть ты считаешь, что лучше влезать в EAV в таком случае, нежели создать ряд скучных полей, лежащих в одном классе?
Всё зависит от проекта
источник

D

Daniil in PHP
SarcasmIO
там будет итерация по всем реализациям, у каждой из которой я спрошу, ты это умеешь, нет, тогда дальше, и так пока не найду нужную
$resolvers у тебя в там же, т.е. когда появится новый тип ты долден будешь его добавить в этот массив
источник

S

SarcasmIO in PHP
Daniil
$resolvers у тебя в там же, т.е. когда появится новый тип ты долден будешь его добавить в этот массив
нет
источник

S

SarcasmIO in PHP
DI на любую реализацию этого интерфейса навесит тег и сам в рантайме мне пробросит её в конструктор как StorageInterface[]
источник

S

SarcasmIO in PHP
Oleg Arkhipov
@oneerror можешь пояснить, что значит «через !tagged»?
https://symfony.com/doc/current/service_container/tags.html#reference-tagged-services

линк не открывал, но судя по урлу оно)
источник

AD

Andrey Dembitskyi in PHP
Рандомная ссылка про фабрики.
https://sergeyzhuk.me/2018/01/25/factory-method-and-open-closed/

Да, конечно, если хочется упоротся, или правда часто нужно изменять кол-во реализаций - можно использовать более "гибкий" подход.

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

S

SarcasmIO in PHP
Daniil
$resolvers у тебя в там же, т.е. когда появится новый тип ты долден будешь его добавить в этот массив
и _instanceof: App\SomeInterface:
tags: ['some.tag']
или через компайлер пас и registerForAutoconfiguration
источник

OA

Oleg Arkhipov in PHP
@oneerror так это нужно обязательно такой умный DI-контейнер иметь ещё, получается? А не будет ли уже это в такой задачке оверинжерингом?
Если реально можно хешмап всё-таки вписать в эту несчастную фабрику.
источник

D

Daniil in PHP
SarcasmIO
и _instanceof: App\SomeInterface:
tags: ['some.tag']
или через компайлер пас и registerForAutoconfiguration
круто что он так умеет не сталкивался спасибо
источник

КГ

Константин Грачев in PHP
Andrey Dembitskyi
Рандомная ссылка про фабрики.
https://sergeyzhuk.me/2018/01/25/factory-method-and-open-closed/

Да, конечно, если хочется упоротся, или правда часто нужно изменять кол-во реализаций - можно использовать более "гибкий" подход.

Но в общем случае это не нужно. И очень норм будет иметь знание, что тебе нужно в это одно место (фабрику) сходить и добавить новую ветку для своего типа.
Посмотрел по диагонали, хрень какая то предложена.
Не использовать свич ничего не стоит, почему бы сразу не сделать без гемора?
источник

S

SarcasmIO in PHP
Oleg Arkhipov
@oneerror так это нужно обязательно такой умный DI-контейнер иметь ещё, получается? А не будет ли уже это в такой задачке оверинжерингом?
Если реально можно хешмап всё-таки вписать в эту несчастную фабрику.
я аще думал мы в сф чате гг
источник

D

Daniil in PHP
Oleg Arkhipov
@oneerror так это нужно обязательно такой умный DI-контейнер иметь ещё, получается? А не будет ли уже это в такой задачке оверинжерингом?
Если реально можно хешмап всё-таки вписать в эту несчастную фабрику.
ну да DI для этой задачи перебором будет
источник

КГ

Константин Грачев in PHP
Oleg Arkhipov
@oneerror так это нужно обязательно такой умный DI-контейнер иметь ещё, получается? А не будет ли уже это в такой задачке оверинжерингом?
Если реально можно хешмап всё-таки вписать в эту несчастную фабрику.
Одно другому не мешает
источник

КГ

Константин Грачев in PHP
Daniil
ну да DI для этой задачи перебором будет
нет
источник

OA

Oleg Arkhipov in PHP
Просто сначала человеку пояснили, что там оверинжеринг, понасоздано лишнее, а теперь надо ещё добавить.
источник

S

SarcasmIO in PHP
SarcasmIO
я аще думал мы в сф чате гг
оставляю вас на попечительство умных чуваков, они вам объяснят)
источник

КГ

Константин Грачев in PHP
Daniil
ну да DI для этой задачи перебором будет
Для человека который делает тестовые задачки с посредственным кодом у тебя как много своего мнения на любой счёт.
Я первые года два в карьере слушал и не выпендривался
источник

OA

Oleg Arkhipov in PHP
@Preemiere ты думаешь, нужно слушать и заткнуться, не обсуждая? Тогда можно наслушаться чего угодно. Т.к. параллельно с тобой другой человек  в чате говорит противоположное мнение...
источник

D

Daniil in PHP
Константин Грачев
Для человека который делает тестовые задачки с посредственным кодом у тебя как много своего мнения на любой счёт.
Я первые года два в карьере слушал и не выпендривался
а ты привык что с тобой всегда соглашаются и смотрять тебе в рот
источник