2016-07-05 7 views
0

Итак, у меня есть этот проект, который я планирую. Это своего рода «социальная сеть». Мне просто интересно, как сейчас, у меня есть один контроллер (ProfilesController), который занимается обновлением состояния, редактированием профиля, загрузкой/просмотром галереи, настройками и т. Д.Структура контроллеров и моделей Laravel

Является ли это хорошей структурой? Или я должен отделить его от разных контроллеров, таких как (ProfilesController, GalleryController, SettingsController, GuestbookController)?

И мои модели, в настоящее время у меня есть гостевая книга, фотоальбомы, профиль и пользовательские модели. Это хорошо? Или, возможно, некоторые из них могут быть объединены в User или Profile?

Заранее спасибо.

ответ

0

Я думаю, что для того, чтобы сохранить как можно RESTful, у вас должны быть отдельные контроллеры для отдельных моделей. Ваши модели должны определенно быть их собственными файлами/классами.

0

1. Следуя принципу «единой ответственности», хорошо, что вы создаете контроллер для каждого процесса.

2. Laravel Каждая таблица (которую вы использовали в проекте) базы данных должна иметь модель.

3. Если вы хотите делать хорошие вещи, рекомендуем следовать принципу «первый API»: разработать структуру вашего API и затем начать ее программировать. Сделав это, недавно начали разрабатывать интерфейсы и ваши процессы с помощью вашего API.

0

Я бы остался с REST и действительно создал Для каждой таблицы, модели и контроллера. Таким образом, вы можете разработать свое приложение очень просто.

Если ваша «социальная сеть» или любое другое приложение, которое вы хотите разработать, будет становиться все более сложным, это лучший способ сохранить его в чистоте и четко представленном виде.

Как только я начал небольшой проект и на самом деле не заботился о том, чтобы следовать этому принципу, но вы доберетесь до того, что сожалеете об этом.

Итак, начните свой проект с чистой структуры и создайте для каждой модели контроллер. Я рекомендую также использовать Route :: Ressource для определения основных маршрутов. Таким образом, вы следуете всем соглашениям.

Route::resource('Model', 'ModelController'); 

Для получения дополнительной информации, проверьте docs.

 Смежные вопросы

  • Нет связанных вопросов^_^