Какой шаблонизатор был бы удобнее для Вас?

1 234 5
iexpert
На сайте с 01.09.2005
Offline
184
#21

Встройте поддержку любых шаблонизаторов путем написания обычных драйверов. И вся любоф.. И будут делать кто хочет смарти, кто хочет xslt, ну а кто хочет пусть пользуется самопалом.

Главное задокументируйте API для драйверов как следует и не напрягайтесь.

Бойтесь ваших желаний, ибо они могут исполниться
[Удален]
#22
Kolyaj:
В более менее сложном проекте вам такие конструкции не помогут

Сто раз на РНР-форумах обсуждал но так и не нашёл ни одного упомянания о том что может "смарти" и что невозможно сделать этими вставками. (чаще всего при поднятии этого вопроса меня называли ламером и отсылали нафик)

Более того НИКОГДА не видел "сложных" скриптов в которых были бы нужны сильные навороты, наоборот встречался с ситуациями когда чем серьёзнее проект тем проще код.

Обоснованно это чаще всего требованиями к быстродействию скрипта, а также тем что новички часто изобретают велосипед с квадратными колёсами когда в "серьёзных" скриптах всё тоже самое делается элементарнейшими путями...

Kolyaj:
там как минимум понадобятся циклы
Kolyaj:
сохранить читабельность кода

Сравним вставки

<?foreach($array as $item):?>

<p><b><?=$item['name']?></b><br><i><?=$item['text']?></i></p>
<?endforeach?>

и самый "читабельный" шаблонизатор PHP_Lib

<!-- BEGIN array -->

<p><b>{array.NAME}</b><br><i>{array.TEXT}</i></p>
<!-- END array -->

Сильно читабельность хромает ?

(кроме быстродействия другой разницы не вижу)

Видимо спор родился по двум причинам, первая это то что вы не работали с вставками типа <?=$str?>, а я не работал со Smarty, как результат мы спорим не зная предмета спора...

[Удален]
#23

Лучший шаблонизатор - PHP. Это встраиваемый язык. Так что все шаблоны для PHP - ересь в принципе. Сами подумайте, как звучит: "Smarty - встраиваемый в HTML язык, написанной на встраиваемом в HTML языке PHP" :D

В общем шаблоны придумали те, кто использует невстариваемые языки. А в PHP никто не мешает использовать шаблоны на том же PHP, потому что действительно <?=$title?> ничуть не сложнее смартевого {$title}, или, к примеру, <? foreach ($key => $val) { ?>... <? } ?> ничуть не сложнее {foreach from="$arr"}...{/foreach}

В общем шаблоннные движки к PHP писали маньяки, не разобравшиеся в вопросе.

Аргумент, что шаблоны может править верстальщик, а не программист не катит. Если верстальщика можно выучить Smarty, то не составит труда и операторы условий и циклы на PHP ему объяснить.

Так что логику программы пишем на PHP и шаблоны тоже на PHP - все красиво.

iexpert
На сайте с 01.09.2005
Offline
184
#24
javadf:
Так что логику программы пишем на PHP и шаблоны тоже на PHP - все красиво.

Тут только вопрос разделения содержания и внешнего вида. Хотя я с вами согласен, чем проще тем быстрее, читабельнее ну и соответственно приятнее.

Однако шаблонизаторы имеют смысл. Например при наследовании шаблонов. Можно конечно и без шаблонизатора, но с ним приятнее.

[Удален]
#25

iexpert, так никто не отрицает, что логику и отображение надо разделять. Отдельно на PHP пишем логику и отдельно на PHP шаблон для отображения.

[Удален]
#26
javadf:
В общем шаблоны придумали те, кто использует невстариваемые языки. А в PHP никто не мешает использовать шаблоны на том же PHP, потому что действительно <?=$title?> ничуть не сложнее смартевого {$title}, или, к примеру, <? foreach ($key => $val) { ?>... <? } ?> ничуть не сложнее {foreach from="$arr"}...{/foreach}
В общем шаблоннные движки к PHP писали маньяки, не разобравшиеся в вопросе.

Полностью поддерживаю, именно это я и хотел сказать !!! (хотя ты сказал это точнее)

iexpert:
Тут только вопрос разделения содержания и внешнего вида.

Дык а кто против ? Я что ли ? Да не в жизни...

javadf:
Отдельно на PHP пишем логику и отдельно на PHP шаблон для отображения.

В том то и дело что логику приложения пишем на РНР а логику отображения пишем не на РНР а на РНР упрощённом до уровня ни чуть не сложнее "смарти"...

B
На сайте с 22.06.2006
Offline
98
#27

Ведь шаблон может быть ещё проще, чем PHP и Smarty. Никаких foreach-ей и if-ов, а также конструкций $a["b"]->c(...)... Почти как Integrated Template, но более гибкий, с более удобным API, больше возможностей, более быстрый. Попытался я такой написать... Что я собственно и хотел сказать своим предыдущим постом со ссылкой на мою страницу.

AsTroT
На сайте с 30.07.2006
Offline
0
#28

Мне кажется был бы удобным HTML_Template_PHPLib. Он использует констрикции а-ля phpBB, весьма неплох. Высока скорость обратки шаблонов. И что немаловажно весит всего 15кб в несжатом виде, в отличие от полу-мегабайтного смарти.

ZiNTeR
На сайте с 20.05.2006
Offline
4
#29

ЧТо касается производительности - то тут <?=$main->get_menu()?> нет равных. варианты, как их ласково назвал автор темы "самопал" {bla_bla_bla} уже ниже, поскольку их по идее надо парсить в стиле $cont=preg_replace("/{$key}/i",$value,$cont);

XML и XSLT конечно круче всех, вот только подойдет этот вариант для серьезныхи больших проектов, а на легких и средних он лишь необоснованно усложнит задачу всем - и разработчику и верстальщику

http://wannacomp.ru (http://wannacomp.ru) - пример партнерского скрипта для новой партнерской программы. ПОказанная версия продается и стоит 8$. ПРодается по адресу: http://www.plati.ru/asp/pay.asp?idd=228961 (http://www.plati.ru/asp/pay.asp?idd=228961)
wilelf
На сайте с 27.06.2005
Offline
322
#30

Прямые ручки, по-моему, лучший вариант...

Агентство контекстной рекламы НеВсем ( https://www.nevsem.ru/ ) Пишу платно статьи для Хабра. Мой профиль ( https://habr.com/ru/users/wilelf/ )
1 234 5

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий