Size: a a a

2021 March 26

СП

Сергей Петренко... in symfony
Oleg Krasavin
Симфониевский AbstactController - боль и мусор и его надо избегать во всех случаях, если вы пишите что-то сложнее бложика.

В идеале - отдельный класс под каждый экшн с __invoke(), далее инжектим либо в конструктор, либо в аргументы через ArgumentResolver, если часто юзается в экшенах.
Я себе представить не могу в уме как будет выглядеть монолит интернет магазин с 40 контроллерами и как минимум по 4 экшена (круд). Точнее могу, Но это по-моему слишком сильно...
источник

D

Dmitry in symfony
Сергей Петренко
Я себе представить не могу в уме как будет выглядеть монолит интернет магазин с 40 контроллерами и как минимум по 4 экшена (круд). Точнее могу, Но это по-моему слишком сильно...
Если использовать метод автора то у вас всего-то будет 160 классов только для слоя контроллера :)
источник

D

Dmitry in symfony
Разработчики шторма вам выдадут отдельный сервер под генерацию списка подстановки имён :))
источник

СП

Сергей Петренко... in symfony
Dmitry
Разработчики шторма вам выдадут отдельный сервер под генерацию списка подстановки имён :))
😁
источник

СП

Сергей Петренко... in symfony
А если уже затронули интересную тему. А аннотации ( как пример IsGranted) на магические методы работают?
источник

D

Dmitry in symfony
Я не знаю. Я предпочитаю явные методы.
источник

C

CvekCoder in symfony
Dmitriy
А в чем боль проявляется на долго дистанции?
Человек топит за ADR https://habr.com/ru/post/260769/
источник

D

Dmitriy in symfony
Почитаю спасибо
источник

✨Basic_Instinct✨ in symfony
куда не ткни - все Г )) мода на процедуры еще не пришла?))
источник

SP

Sergey Protko in symfony
✨Basic_Instinct✨
куда не ткни - все Г )) мода на процедуры еще не пришла?))
Мода и есть г
источник

DT

Dmitriy Tkachenko in symfony
Мода не г, а показатель из статистики
источник

OK

Oleg Krasavin in symfony
Dmitriy
А в чем боль проявляется на долго дистанции?
Открываем, смотрим:

https://github.com/symfony/symfony/blob/5.x/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php

Видим:
1) Дополнительный каплинг на фреймворк(если наследоваться)
2) Куча мусорных и бесполезных шорткатов (getDoctrine() и пр)
3) Инжектнутый контейнер.

Это все хорошо в условиях RAD, когда надо быстро накидать прототип из говна и палок. Но не более того, по понятным причинам.
источник

OK

Oleg Krasavin in symfony
Dmitry
Зачем отдельный класс на экшн если экшены отлично группируются по типу или сущности или другие способы. Только классы плодить
Open-closed principle.
Вменяемый конструктор без 999 аргументов.
Да и банально конфликтов в репе меньше.
источник
2021 March 27

OK

Oleg Krasavin in symfony
Сергей Петренко
Я себе представить не могу в уме как будет выглядеть монолит интернет магазин с 40 контроллерами и как минимум по 4 экшена (круд). Точнее могу, Но это по-моему слишком сильно...
Довольно сложно представить 40 контроллеров в одном проекте, но даже так, для тупого круда совсем необязательно плодить контроллеры(ApiPlatform/SyliusResourceBundle какой нить) или вообще писать код(постгрест).
источник

D

Dmitriy in symfony
Oleg Krasavin
Открываем, смотрим:

https://github.com/symfony/symfony/blob/5.x/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php

Видим:
1) Дополнительный каплинг на фреймворк(если наследоваться)
2) Куча мусорных и бесполезных шорткатов (getDoctrine() и пр)
3) Инжектнутый контейнер.

Это все хорошо в условиях RAD, когда надо быстро накидать прототип из говна и палок. Но не более того, по понятным причинам.
Понял, спасибо
источник

Ш

Шурик in symfony
Oleg Krasavin
Довольно сложно представить 40 контроллеров в одном проекте, но даже так, для тупого круда совсем необязательно плодить контроллеры(ApiPlatform/SyliusResourceBundle какой нить) или вообще писать код(постгрест).
Да, представить всего 40 контроллеров - сложно
источник

OK

Oleg Krasavin in symfony
Шурик
Да, представить всего 40 контроллеров - сложно
Неплохо. И везде круд?
источник

Ш

Шурик in symfony
Oleg Krasavin
Неплохо. И везде круд?
та нет, есть много всего очень разного.
и круды и обновления полсотни таблиц за один запрос и нормальные контроллеры и божественные.
как у всех, в общем
источник

A

Anthony in symfony
А что делать когда круд превращается в нечто не круд? Идти срочно распиливать контроллер?
источник

✨Basic_Instinct✨ in symfony
я даже круд разбиваю на отдельные контроллеры
источник