Если говорить о php как о языке, который предназначен для придания динамичности Вашему сайту, то его вполне можно назвать языком шаблонов. С возможностью использования управляющих структур и огромного количества готовых расширений. И поэтому я не особо понимаю, когда начинають изобретать велосипед, создавая template engine(в грубом переводе движок шаблонов) на php, придумывая при этом какой-то свой язык представления этих самых шаблонов(или используя общепринятые решения).Конечно, это убыстряет процесс создания дизайна динамических страниц, но довольно сильно бьет по производительности системы(интерпретатор php выполняет код интерпретации еще одного языка, пусть даже и очень простого).
Один из самых распостраненных способов построения такого интерпретатора - преобразование кода шаблона в php код посредством регулярных выражений и его выполнение интерпретатором php(такой способ используется в движке форумов phpBB). Конечно, можно немного уменьшить нагрузку и разработать систему кеширования преобразованного кода, но решение все равно довольно спорное - переписав все шаблоны на php Вы избавитесь от целого ряда проблем(правда, не от всех конечно) и получите систему с более высоким быстродействием.
5 Комментариев
akella
17|Sep|2005 1хех - для меня(верстальщика) это звучит как - нафига делать внешние ЦСС файлы - пишите все прямо в ХТМЛ - быстрее будет
Я утрирую - но думаю философия разделения всего и вся(дизайн инфо ПХП(а там еще кой нить МВЦ…)) - очень хорошая штука.
Разве нет?
tolix
19|Sep|2005 2Насчет разделения согласен полностью - только вот должна быть серединка между эффективностью и удобностью. Когда шаблоны на php не дают требуемой производительности - это уже нехорошо.
DenD
11|Oct|2005 3Выскажу и свое мнение насчет “templates engine”.
Все-таки вещь до абсурда глупая.
С единственным плюсом этого подхода - повышенной скоростью прикрутки шаблонов к скриптам - готов долго и яростно спорить. Это еще не факт что ускоряют они. Для кого ускоряют? Кто так решил я не знаю.
А уж если вас угораздило заниматься правкой шаблонов, написанных для какого-либо “template engine”, да еще и не ваших шаблонов, то это может превратится в настоящий головняк.
Написание и поддержка шаблонов, созданных лишь средствами php станет намного проще, если соблюсти ряд простых условий:
1. ВСЮ логику получения и преобразования данных по возможности убрать из шаблонов. Пусть скрипты занимаются подготовкой данных. Ассоциативные массивы - “самое то” для представления данных, которые после будут переданы шаблону.
2. В свою очередь, из скриптов вынести какие-либо выводы в браузер.
3. Постараться ограничится в шаблонах следующими операциями:
a) include
b) вывод значений переменных посредством <?=$var_name?>
c) if(), for()
d) извлечение данных из тех самых массивов посредством foreach()
e) несложные математические операции, конструкции вроде isset(), и т.д.
Хотя бывают случаи, когда этого не хватает и приходится перегружать шаблоны логикой, например, отрисовка дерева и прочие вещи, хотя и тут есть довольно удобные подходы, о которых сейчас просто некогда рассказать.
P.S. коммент получился довольно сумбурный, но уж не обесудте. Как-нибудь сяду, систематизирую знания и накопленный опыт и выдам статью по этому поводу.
Kitson
31|Jul|2006 4Шаблоны. Они удобны для распределенной работы. Дизайнер код знать не обязан, даже несложный.
Если кто-то пробовал править osCommerce тот обоими руками будет ЗА шаблоны
DeMx
12|Nov|2006 5Один раз воспользуешься шаблоном и потом уже тошнит, когда увидишь проект на чистом PHP - из собственного опыта знаю.
ИМХО, шаблоны нужны. Ведь если можно облегчить разработку проекта в целом, то почему бы не сделать этого?
Kitson
Я пробовал и больше не хочу.
Оставьте отзыв
Search
Последние комментарии
Облачко
Билайн Игры Интересно Интернет Киев Киевстар МТС Утел батарея блоги жЫзнь карты мобильное ого пробки размышления траффик укртелеком 3G adobe air adsl Apache Asus CDMA E51 Gizmo gmail GPRS GSM ide Log nintendo Nokia php PlayStation Plesk Plugins PocketPC rss ruby s60 svitonline voIP WiFi WordPressКатегории
Календарик
Спонсорские линки
Я читаю
A design creation of Design Disease
Copyright 2008 - ТолиБлог
Powered by WordPress - Web hosting Services by Wordpress Theme, Archived by WPT