vaflya
@vaflya
Ничего личного, это всего лишь хобби.

Php и MVC, как правильно реализовать многораздельный сайт?

Всем привет!

Начал изучать совместно ООП и MVC. И появился вопрос. К примеру на сайте 4 раздела
-статьи
-картинки
-каталог
-видео

У каждого раздела может быть несколько actions (к прим. Отобразить все статьи или одну статью).

Соответственно вопрос:

Дерево папок:
App
|__core
|__controllers
     |__controller_main.php
     |__Controller_articles.php
     |__Controller_images.php
     |__ и т.д
|__models
     |__main
         |__Index.php
     |__Articles
         |__ index.php
         |__Show_one.php
         |__show_top.php
|__views
     |__main
         |__Index.php
     |__Articles
         |__ index.php
         |__Show_one.php
         |__show_top.php

Вобщем взависимости от action, контроллер будет подбирать нужную модель и нужный вид. Меня беспокоит, что я вроде как буду дублировать код и нарушать концепцию mvc. Подскажите как правильно реализоыать или поверните в нужную сторону.

P.s. Пример упрощенный, разделов планируется около 20 на сайте и каждый раздел как мини сайт.
  • Вопрос задан
  • 673 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Тоесть создать 1 только модель для раздела и в ней создать много методов?

Возможно вы не очень понимаете суть моделей, как и мвц в целом. Модель - это отдельная сущность, например пользователь, запись блога, товар етц. Контроллер манипулирует методами моделей для создания набора данных, которые потом передает в представление. По этому количество контроллеров никак не коррелирует с количеством моделей, в одном контроллере может вызываться / создаваться много моделей (например всегда создается текущий пользователь). Отдельным классом стоят коллекции - объект групп, которые часто используют для создания разных списков и наборов объектов одного типа (например список пользователей или товаров).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Dit81
@Dit81
Security researcher, pentester
Под каждый объект своя модель. Посмотрите на реализацию ORM
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 нояб. 2020, в 00:27
500 руб./в час
25 нояб. 2020, в 23:13
1000 руб./за проект
25 нояб. 2020, в 22:43
800 руб./в час