Задать вопрос
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 на сайте и каждый раздел как мини сайт.
  • Вопрос задан
  • 689 просмотров
Подписаться 4 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Тоесть создать 1 только модель для раздела и в ней создать много методов?

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽