- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Встройте поддержку любых шаблонизаторов путем написания обычных драйверов. И вся любоф.. И будут делать кто хочет смарти, кто хочет xslt, ну а кто хочет пусть пользуется самопалом.
Главное задокументируйте API для драйверов как следует и не напрягайтесь.
В более менее сложном проекте вам такие конструкции не помогут
Сто раз на РНР-форумах обсуждал но так и не нашёл ни одного упомянания о том что может "смарти" и что невозможно сделать этими вставками. (чаще всего при поднятии этого вопроса меня называли ламером и отсылали нафик)
Более того НИКОГДА не видел "сложных" скриптов в которых были бы нужны сильные навороты, наоборот встречался с ситуациями когда чем серьёзнее проект тем проще код.
Обоснованно это чаще всего требованиями к быстродействию скрипта, а также тем что новички часто изобретают велосипед с квадратными колёсами когда в "серьёзных" скриптах всё тоже самое делается элементарнейшими путями...
там как минимум понадобятся циклы
сохранить читабельность кода
Сравним вставки
и самый "читабельный" шаблонизатор PHP_Lib
Сильно читабельность хромает ?
(кроме быстродействия другой разницы не вижу)
Видимо спор родился по двум причинам, первая это то что вы не работали с вставками типа <?=$str?>, а я не работал со Smarty, как результат мы спорим не зная предмета спора...
Лучший шаблонизатор - PHP. Это встраиваемый язык. Так что все шаблоны для PHP - ересь в принципе. Сами подумайте, как звучит: "Smarty - встраиваемый в HTML язык, написанной на встраиваемом в HTML языке PHP" :D
В общем шаблоны придумали те, кто использует невстариваемые языки. А в PHP никто не мешает использовать шаблоны на том же PHP, потому что действительно <?=$title?> ничуть не сложнее смартевого {$title}, или, к примеру, <? foreach ($key => $val) { ?>... <? } ?> ничуть не сложнее {foreach from="$arr"}...{/foreach}
В общем шаблоннные движки к PHP писали маньяки, не разобравшиеся в вопросе.
Аргумент, что шаблоны может править верстальщик, а не программист не катит. Если верстальщика можно выучить Smarty, то не составит труда и операторы условий и циклы на PHP ему объяснить.
Так что логику программы пишем на PHP и шаблоны тоже на PHP - все красиво.
Так что логику программы пишем на PHP и шаблоны тоже на PHP - все красиво.
Тут только вопрос разделения содержания и внешнего вида. Хотя я с вами согласен, чем проще тем быстрее, читабельнее ну и соответственно приятнее.
Однако шаблонизаторы имеют смысл. Например при наследовании шаблонов. Можно конечно и без шаблонизатора, но с ним приятнее.
iexpert, так никто не отрицает, что логику и отображение надо разделять. Отдельно на PHP пишем логику и отдельно на PHP шаблон для отображения.
В общем шаблоны придумали те, кто использует невстариваемые языки. А в PHP никто не мешает использовать шаблоны на том же PHP, потому что действительно <?=$title?> ничуть не сложнее смартевого {$title}, или, к примеру, <? foreach ($key => $val) { ?>... <? } ?> ничуть не сложнее {foreach from="$arr"}...{/foreach}
В общем шаблоннные движки к PHP писали маньяки, не разобравшиеся в вопросе.
Полностью поддерживаю, именно это я и хотел сказать !!! (хотя ты сказал это точнее)
Тут только вопрос разделения содержания и внешнего вида.
Дык а кто против ? Я что ли ? Да не в жизни...
Отдельно на PHP пишем логику и отдельно на PHP шаблон для отображения.
В том то и дело что логику приложения пишем на РНР а логику отображения пишем не на РНР а на РНР упрощённом до уровня ни чуть не сложнее "смарти"...
Ведь шаблон может быть ещё проще, чем PHP и Smarty. Никаких foreach-ей и if-ов, а также конструкций $a["b"]->c(...)... Почти как Integrated Template, но более гибкий, с более удобным API, больше возможностей, более быстрый. Попытался я такой написать... Что я собственно и хотел сказать своим предыдущим постом со ссылкой на мою страницу.
Мне кажется был бы удобным HTML_Template_PHPLib. Он использует констрикции а-ля phpBB, весьма неплох. Высока скорость обратки шаблонов. И что немаловажно весит всего 15кб в несжатом виде, в отличие от полу-мегабайтного смарти.
ЧТо касается производительности - то тут <?=$main->get_menu()?> нет равных. варианты, как их ласково назвал автор темы "самопал" {bla_bla_bla} уже ниже, поскольку их по идее надо парсить в стиле $cont=preg_replace("/{$key}/i",$value,$cont);
XML и XSLT конечно круче всех, вот только подойдет этот вариант для серьезныхи больших проектов, а на легких и средних он лишь необоснованно усложнит задачу всем - и разработчику и верстальщику
Прямые ручки, по-моему, лучший вариант...