Задать вопрос
@adiletmurzaliev

Разделение логики от представления PHP?

Помогите разобраться с отделением логики сайта от представления. Все никак не могу понять, как правильно это сделать.
Сейчас осавиваю Fat Free Framework на примере MVC, и в общем после написания множества котроллеров (pages, news, users и т.п.) наплодил достаточно большое количество видов. В некоторых частях представлений код повторяется, хотя вроде старался по максимуму все отделить.
На простом примере все довольно понятно: Контроллер -> layout -> *остальные блоки представления*, но вот когда возникают различные особенности отображения элементов на страницах, не представляю как все оптимально организовать.
Объясните пожалуйста, какие существуют решения (паттерны) или рекомендации по разделению логики.
Прочитал немного про шаблонизаторы, не особо понравилось такое решение.
  • Вопрос задан
  • 2999 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@boomwest
MVC. Вот ответ на ваш вопрос. На простом примере не Контроллер->layout... , а Контроллер -> модель ->layout.

Что-бы понятней было:

<?php
function controller($param1,$param2)
{
$model=model($param1,$param2);
view($model);
}

function model($a,$b)
{
return $a+$b;
}

function view($view)
{
echo "".$view."";
}

controller(1,2);
?>

Только вместо функций используют классы
Ответ написан
Комментировать
Паттерн - MVC. Лучше всего использовать популярные фреймворки - symfony, yii и другие. Если у Вас не REST-архитектура, то шаблонизаторы использовать придется (хотя-бы нативный PHP).

Если хотите поизобретать велосипед (в учебных целях) я могу предложить такой вариант для view: Как правильно вывести записи из бд с оформлением?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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