@adiletmurzaliev

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

Помогите разобраться с отделением логики сайта от представления. Все никак не могу понять, как правильно это сделать.
Сейчас осавиваю Fat Free Framework на примере MVC, и в общем после написания множества котроллеров (pages, news, users и т.п.) наплодил достаточно большое количество видов. В некоторых частях представлений код повторяется, хотя вроде старался по максимуму все отделить.
На простом примере все довольно понятно: Контроллер -> layout -> *остальные блоки представления*, но вот когда возникают различные особенности отображения элементов на страницах, не представляю как все оптимально организовать.
Объясните пожалуйста, какие существуют решения (паттерны) или рекомендации по разделению логики.
Прочитал немного про шаблонизаторы, не особо понравилось такое решение.
  • Вопрос задан
  • 2980 просмотров
Пригласить эксперта
Ответы на вопрос 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: Как правильно вывести записи из бд с оформлением?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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