В продолжение предыдущих сообщений: мое мнение таково, что функции или классы не должны отвечать за их некорректное использование. Более того, в результате стремления разработчиков написать отказоустойчивый и "всеситуационнообъемлющий" код, объем программ неоправданно разбухает, а производительность падает. Например, зачем делать так: PHP: <?php function foo1($var){if(!isset($var))$var="";return $var;} function foo2($var){if(!isset($var))$var="";return $var;} foo1($var); foo2($var); ?> Если можно так: PHP: <?php function foo1($var){return $var;} function foo2($var){return $var;} if(!isset($var))$var=""; foo1($var); foo2($var); ?> Конкретно, в случае класса шаблонизатора это означает: класс шаблонизатора не должен отвечать за неправильно установленные или неопределенные переменные. Если разработчик использующий данный класс не предусматривает подобные ситуации - это его трудности. Что же касается зачистки неотпарсеных псевдо-тегов пустой строкой - это неправильно решение: разработчик должен видеть какие именно переменные остались не инициироваными. Теперь, что касается моего шаблонизатора, то я немного поспешил: метод Append имеет смысл только для однотипных блоков, поэтому я его убрал в ущерб производительности. Лично для меня, не всегда, но в особых случаях красота и краткость кода лучше чем производительность. Кроме этого, я убрал метод __get, потому что: PHP: <?php $view->items .= $item; // нужно понимать что подобная конструкция является причиной вызова // методов __get и __set ?> теперь надо делать так: PHP: <?php $items = ""; // просто создаем временную переменную $items .= $item; $view->items = $items; ?>
Когда кол-во шаблонов для модуля перевалит за 3-й десяток, и так будет в каждом модуле, вы ещё вспомните о том, что бывают более простые подходы, которые не обязательно включают в себя код написанный и работающий по неким евангелическим стандартам. Когда метод модуля вместо 40 строк будет занимать 150, а более сложные методы вместо 150-200 строчек разбитых на несколько приватных методов и главный публичный перерастут в класс объёмом по 500-2000 строчек кода и потребуют второго уровня абстракции и приведёт к результату "за что боролись, на то и напоролись" - попомните мои слова!
А я предпочитаю свое своими руками И соглашусь, что пхп для этого предостаточно, если правильно посмотреть на вещи. Создайте некий "программатор шаблона", который будет инклудиться перед самим шаблоном, в нем определяйте логику , получайте значений переменных, а в самом шаблоне они должны уже быть распарсены и преведены к виду в php дескрипторах... Т.е. имеем некий исходный шаблон со своим языком, а достаточно при грамотной организации всей системы лишь подставить в шаблон результат, т.е. переменную... собственно и язык никакой не нужен.. ({var}) уже будет достаточно. Можно еще вызов функции докрутить... Продолжать не буду... донес только идею. Я считаю, что нет смысла использовать сторонние разработки вообще в каких-либо целях, тем более нагружать верстальшика смарти, у них своих хлопот хватает...
просто на этом форуме проводят время по большей мере люди с высоким профитом и нормальным стилем общения, с возможностью исключения слов типа "хуета" )))
эххх как жаль что у нас нету блогов... хотя тут у всех свой блог, один я как дурак доску объявлений сделал да еше так назвал и такой логотип придумал что с главной страницы можно долго ржать сидеть)
Как по мне, так это уже доведено до идиотизма. Раньше: 1. Построить дом 2. Посадить дерево 3. Вырастить сына Сейчас: 1. Выучить РНР 2. Написать CMS 3. Открыть свой блог По мне так это всё нафиг не надо. Перед школьницами показывать свой виртуальный пенис?
Apple АХхааххахаахахахахахха виртуальный пенис где то в этом топике виртуальные пенисы сравнивают http://www.php.ru/forum/viewtopic.php?t=25497 поражаюсь каждый раз твоим репликам ;D
с шаблоном где конструкция такого вида {var} заменяется, понял, а вот тут как? http://www.php.ru/forum/viewtopic.php?p ... ht=#211516 там в шаблоне прописаны переменные должны быть? типа так <?php echo $var ?> ?
тут у меня такой вопрос, если захочу писать весь сайт с использованием аякса, то лучше php шаблонизатор и отдаем в яваскрипт кашу, или лучше будет яваскрипт шаблонизатор? Hight а глянуть можно? Apple кто то кажется писал шаблонизатор на jquery ) покажешь?)
Padaboo Серверную логику писать проще. С JS шаблонами будет оооочень много JS кода, что тоже не очень хорошо для сайта (если это конечно не JS приложение типа GMail)
То в 3 раза больше работы, чтобы обеспечить нормальную работу при отключеным JS в браузере. Это обязательно, если там есть контент, который должен индексироваться.