Size: a a a

2020 May 28

AL

Anton Lakotka in PHP
Aleksandr Khristenko
Ну удобство заключается в чем, в том что приходится меньше писать обвзяки?
Типа контроллер один раз сгенерировали а дальше только методы добавляем?
Так это решается консольной командой, которая сама генерирует новый класс хандлер и прописывает роут.
а как консольная команда нужные зависимости в контролер закинет?
источник

SP

Sergey Protko in PHP
я вот думал включить в список факторов зависимости, но в целом "инджектить зависимости в контроллеры" это относительно "новый" тренд
источник

SP

Sergey Protko in PHP
Aleksandr Khristenko
Ну удобство заключается в чем, в том что приходится меньше писать обвзяки?
Типа контроллер один раз сгенерировали а дальше только методы добавляем?
Так это решается консольной командой, которая сама генерирует новый класс хандлер и прописывает роут.
ну большинство кодогенераторов/крудо генераторов и генерило тебе один файлик и N экшенов
источник

A

Aleksandr Khristenko in PHP
Anton Lakotka
а как консольная команда нужные зависимости в контролер закинет?
А зачем ей это делать? Когда ты только создаешь хандлер он пустой, нечего туда прокидывать.
А когда ты начинаешь в нем писать код, то уже в конструкторе прописываешь зависимости и они дальше через автовайринг прокидываются, например.
источник

SP

Sergey Protko in PHP
автовайринг... ух...
источник

A

Aleksandr Khristenko in PHP
Sergey Protko
попробуй в 2012-ый какой мысленно вернуться
Короче ты меня просто медленно подводишь к ответу "исторически так сложилось".
источник

SP

Sergey Protko in PHP
да
источник

SP

Sergey Protko in PHP
все так делают и "я так делаю"
источник

A

Aleksandr Khristenko in PHP
Я тогда перефразирую вопрос, есть ли какие-то серьезные преимущества у подхода один класс - куча действий перед подходом один класс - одно действие.
источник

SP

Sergey Protko in PHP
стабильность
источник

SP

Sergey Protko in PHP
если у тебя класс выполняет одну операцию шансы того что тебе придется его трогать меньше)
источник

SP

Sergey Protko in PHP
на этом в целом преимущества заканчиваются
источник

SP

Sergey Protko in PHP
и для вещей типа контроллеров (где не должно быть логики) это не сказать что прям жирный плюс
источник

SP

Sergey Protko in PHP
проблемы обычно когда у тебя контроллер делает дохера всего - тогда плюсы начинают склоняться в сторону "классы экшены".
источник

A

Aleksandr Khristenko in PHP
В случае с один класс - одно действие еще лучше, что инжектятся только те зависимости, которые нужны действию.
источник

SP

Sergey Protko in PHP
и это тоже, более реалистичные метрики связанности как следствие
источник

A

Aleksandr Khristenko in PHP
Т.е. нет такого, что надо или инжектить зависимость даже если она не нужна или запариваться с лейзи-лоадингом.
источник

A

Aleksandr Khristenko in PHP
Вот кстати еще интересно, а почему в наших краях зенд/ламинас особо не популярны?
источник

SP

Sergey Protko in PHP
с другой стороны опять же контроллеры это такие штуки.... на них вообще класть. У них может быть хоть миллион зависимостей. В них не должно быть логики и от них зависеть никто не должен.
источник

SP

Sergey Protko in PHP
Aleksandr Khristenko
Вот кстати еще интересно, а почему в наших краях зенд/ламинас особо не популярны?
потому что ебанаты громче кричат?)
источник