Автор оригинала: HraKK
Необходимость есть, чтоб проекскейпить данные не в шаблоне, а во вью.
Задача вью не только обрабатывать данные, а и _главное_ хранить их и передавать между контроллерами.
Потому что PHP Native с грамотной архитектурой хватает за уши.
Если не хватает, ищи проблему в архитектуре.
Насколько я понимаю у тебя четырех компонентный подход, Модель, Контроллер, Вид, ну и шаблон в этом случае тебе действительно хватит нативного шаблонизатора. У меня Модель, контроллер + шаблон, ввиду этого и возникает потребность в использовании форматирования данных в шаблоне, я не вижу смысла во вью так-как модель+контроллер способны решить все.
На этом можно и остановиться про архитектуру.
Т.е. твой основной аргумент отказа от компиляции php в php, в том, что теперь это у тебя делает вид?
-~{}~ 18.02.10 09:30:
Автор оригинала: HraKK
Круто, как ваши верстальщики ноги не ломают, раз даже я что делают эти шаблоны я не понял.
Так что буду ходить к гадалке.
PHP:
<head>
<title><?=$title;?>
<link rel="stylesheet" href="<?=$basepath;?>/css/extra-for-this-page.css" />
<script type="text/javascript" src="<?=$basepath;?>/js/extra-for-this-page.js"></script>
</head>
<?=$Page->content;?>
<?=wInclude::template('/layouts/base.tpl'); // просто запускает новый рендер с шаблоном указанным и текущим View и возвращает вывод.?>
Сообственно, поддерживаю идею на 100% что все это можно сделать на натив пхп без проблем + если использовать прекомпиляцию пхп то можно избавиться от (с моей точки зрения) компонента вид.
Что касается виджетов, то возможно это косвенно и смарти, собственно из-за того, что в смарти через неимовреный изврат это делается, возникла такая реализация, но те-же самые верстальщики в состоянии исправить дизайин в одном месте и вставить вполне понятный код в шаблон.
Интересно что проще добавить к примеру
<table:column ../>
или
<td class='column'><?=htmlspecialchars(...)?></td>
+ организовать цикл по строкам и вывести значения столбцов