Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.11.2017 15:01:38

Контроллеры

Привет всем, пришла мне идея в одном проекте соединить несколько контроллеров в один. Хотелось бы послушать ваше мнение на этот счет. На сколько это хорошая практика, и стоит ли вообще. Проект маленкий к среднему. Буду рад любому мнению!

Не в сети

#2 11.11.2017 15:03:56

Re: Контроллеры

А какие причины то?
Что можно сказать, не зная конкретики?
Могу лишь сказать:
Здорово делать что-то лучше.

Не в сети

#3 11.11.2017 15:11:06

Re: Контроллеры

А какие причины то?
Что можно сказать, не зная конкретики?

Ну к примеру есть несколько контроллеров с одинаковой сущностью. По типу новости - блог. На данный момент не вижу смысла держать несколько контроллеров с почти одинаковым кодом. Если все же взглянуть на обратную сторону монеты, то при изменение одной из сущностный от других, нужно будет либо заполнять контроллер if-ами либо отделять в отдельный контроллер.
Вообще какие best practices есть на этот счет ?))

Не в сети

#4 11.11.2017 15:37:22

Re: Контроллеры

Не хватает деталей. В большинстве случаев лучше все же разделять контроллеры и использовать одну логику в сервис классах. А там уже думать как наиболее грамотно переиспользовать код.

Не в сети

#5 11.11.2017 15:44:40

Re: Контроллеры

Не хватает деталей

каких именно деталей не хватает ? я дополню !

Не в сети

#6 12.11.2017 11:22:26

Re: Контроллеры

каких именно деталей не хватает ? я дополню !

Если репо открыт, покажи его, чтобы понять о чем именно идет речь.

Не в сети

#7 13.11.2017 14:53:01

Cruide
Откуда: Домодедово, Моск. Обл.
Сообщений: 14
Сайт

Re: Контроллеры

Зачем сливать контроллеры?
А если изменится логика работы блога и новостей?
Опять разбивать?
Есть такая практика, как разделение логического функционала.
1. Модели разные используются
2. Может изменится логика
3. Роуты разные.

Сделать один общий абстракт? Так уж лучше общий трейт.
Но я не вижу смысла... ни абстракта, ни трейта.
Так как в контроллере много разного может быть... модели, валидаторы, ФормРеквесты, возвращаемый результат. Очень часто бывало так, что сегодня это схожий функционал, а завтра надо добавить пару строчек в одном из вариантов.
Вот и выходит, что чтобы объединить схожий функционал в контроллерах, необходимо продумать как будет реализована передача входящих данные, передача нужной модели, и возможность возвращать необходимые результат (вьюхи, json и прочее).
Я задумывался над подобными вопросами... но пришел к выводу, что это не имеет смысла. Лучше иметь несколько нормально описанных контроллера, чем общий абстракт или фасад... от контроллеров всё равно не уйти. Их по любому придется реализовывать в файлах.

Изменено Cruide (13.11.2017 14:53:49)

Не в сети

Подвал раздела