fomvasss
@fomvasss
PHP developer

Как использовать пространства имен классов или название классов-моделей (для примера в проекте на Laravel)?

Пусть, только для примера, у нас есть сайт-блог, где есть статьи, категории статей, картинки статей.
1. Как будет правильней размещать и именовать модели сущностей?
Вариант 1.
namespace App/Models
Article
ArticleCategory
ArticlePicture
Вариант 2.
namespace App/Models/Articles
Article
Category
Picture
но в этом варианте думаю таблицы бд все-равно лучше называть с префиксом article_
2. Стоить ли в дальнейшем связывать размещение (неймсейсы) моделей и контроллеров? Например, если у меня модель Article в папке Articles, - то нужно ли размещать аналогично контроллер ArticleController в папку Articles? Но ArticleController может быть два, для фронтенда и для бекенда, в соот. неймспейсах, и получается что нужно для каждого создавать еще отдельную папку....

Есть ли какие-рекомендации, подходы и стандарты по этих вопросах, и вообще по правильному разбиению системы? Заранее спасибо!
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
JhaoDa
@JhaoDa
LaravelRUS Team
А ещё есть вариант №3 — раскладывать все классы (в том числе и контроллеры с консольными командами) по разделам бизнес-логики, т.е. что-то типа DDD. И все варианты правильные, и все используются. И, наверное, существуют варианты №4, №5 и т.д.

На этот вопрос нет единственно верного ответа.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы