razerxxx
Новичок
Возникли тут разногласия с коллегой.
Ситуация такая. Имеется класс комментариев. У класса есть метод fillTemplate($object_id) - который отдает готовый скомпилированный шаблон(список комментариев плюс форма добавления и пагинация).
Я вызываю его так: в контроллере в шаблон передаю экземпляр класса
в шаблоне вызываю
, где object_id - привязка комментариев к объекту.
Коллега считает, что это вкорне неверный путь, и нужно формировать данные в контроллере или в модели, а в шаблон передавать уже сформированный код..
т. е. например если данные сформированы в модели то вывод бы производился так:
- то есть данные уже полученны на строне модели примерно так:
В моем случае, как я считаю, структура получается более гибкой, модель объекта ничего не знает о комментариях, комментариями полностью занимается отдельный класс. Минус же подхода, в том что у нас проникает логика в представление, в чем собственно у нас и спор.
Подобный подход, как я понял используется в LiveStreet - занимался версткой для него шаблона, и там это увидел. Мне показалось это довольно удобным. При верстке не надо лезть в php если нужно получить например картинку пользователя. Там это было примерно так $user->getUserAvatar(100);
Ситуация такая. Имеется класс комментариев. У класса есть метод fillTemplate($object_id) - который отдает готовый скомпилированный шаблон(список комментариев плюс форма добавления и пагинация).
Я вызываю его так: в контроллере в шаблон передаю экземпляр класса
PHP:
$output['comments']= new Comments();
PHP:
{$comments->fillTemplate($object_id)}
Коллега считает, что это вкорне неверный путь, и нужно формировать данные в контроллере или в модели, а в шаблон передавать уже сформированный код..
т. е. например если данные сформированы в модели то вывод бы производился так:
PHP:
{$object.title}
{$object.description}
...
{$object.comments} //используется _toString();
PHP:
$object['comments'] = new Comments($object['id']);
Подобный подход, как я понял используется в LiveStreet - занимался версткой для него шаблона, и там это увидел. Мне показалось это довольно удобным. При верстке не надо лезть в php если нужно получить например картинку пользователя. Там это было примерно так $user->getUserAvatar(100);