Просмотр полной версии : Виды шаблонизации
Недавий спор с одним знакомым толкнул меня на создание этого топика. Вопрос обычный - как вы считаете, что лучше? На данный момент я знаю 4 следующих вида.
1. Вообще без шаблонизаторов. Вставка PHP-кода в чистый html. На мой взгляд это лучшее. Самый быстрый вариант из всех. Функционал такого подхода и прост в использовании и широк по возможностям. Для того же альтернативного синтаксиса есть самый нужный функционал - короткое отображение переменных и функций - "<?=$var?>" за место "<?php print $var; ?>" и основные конструкции с помощью которых можно осуществить наверное всё что в голову взбредёт (по крайней мере я пока не встречал задач для шаблонов которые не возможно сделать с помощью альтернативного синтаксиса) - if, for, foreach и while. При этом в шаблоне всё отлично воспринимается визуально если в используемом редакторе имеется подсветка кода. Тогда можно чётко видеть где у вас PHP, а где HTML.
2. Использование отдельных шаблонизаторов. Это Smarty и шаблонизаторы которые встроены во многие CMS. Такой вариант, как мне кажется, хорош только на первый взгляд. Да, есть некоторые удобства у таких отдельных решений но минусов достаточно много - нужно при каждом новом шаблонизаторе учить его синтаксис, редакторов с подсветками кода для конкретных шаблонизаторов нет, приложение тратит время на парсинг текста шаблона. Плюс временные и ресурсные затраты внутренних механизмов шаблонизатора относящиеся не только к парсингу и выводу. Я думаю что это выбор проектов у которых нет столько функционала что бы шаблонизатор начал отжирать огромное кол-во ресурсов. Например depositfiles работает на Smarty.
3. Использование XML+XSLT в качестве шаблонизатора. Имею в виду не выдачу клиенту этого кода (та же опера не поддерживает XML+XSLT), а обработку его на стороне сервера и выдачу клиенту чистого HTML. Главная проблема - время затраченное на парсинг. С остальным всё нормально - есть и редакторы с подсветкой, и функции типа if и циклов в XSLT. Да и это стандартизированная вещь в отличие от всего остального. Между прочим единственный официально признанный организацией W3C вид шаблонизации ;) Конечно у нас пока к этому относятся отрицательно говоря что время данной связки уже прошло, хотя зарубежные продукты во всю её используют. Хорошие примеры - IPB и vBulletin.
4. Этот вариант я даже не знаю как назвать. Что-то типа шаблонизации по кускам. Смысл следующий. Шаблон разбивается на несколько частей (в основном используют массив) и в коде приложения по мере надобности загружается шаблон и из его кусков составляется общий вид. Вещь очень редкая поэтому приведу небольшой пример. При отображении таблицы с несколькими строками в шаблон помещают отдельными кусками верх и низ таблицы и код одной строки. А уже в коде приложения загружают сначала верх, потом сколько нужно раз шаблон строки и в конце низ.
Главный плюс здесь - полное отделение бизнес-логики от кода шаблона. В отличие от всех предыдущих вариантов все циклы, условия и т.д. выполняются в коде. В шаблоне лишь лежит html-код порезаный на куски. Пример такой шаблонизации можно посмотреть в UMI.CMS.
А как думаете вы? Ответ прошу аргументировать.
groundhog
19.02.2009, 15:56
Кузьмич, задай себе вопрос - какова цель шаблонизации? Придумал ответ? А ответ то очень прост - разделение представления и функциональности... Как думаешь, когда ты херачишь ПХП вместе с хтмл - разделение есть? Удобно потом будет человеку, который не делал разметку страницы, но которому нужно будет изменить функциональность лазить на N-ному числу страниц и вникать что это за код, откуда и что он берёт? Так что пункт 1 отпадает сразу, если ты, конечно, не пишешь страничку аля "Вася Пупкин". XML+XSLT - это хороший вариант, трудоёмкий в понимании и реализации, но если ты его освоил - он тебя не подведёт. Насчёт скорости парснига - да забейте на это, в наше время подстановка чего-либо в шаблон это не настолько трудоёмкая задача для сервера. Учитесь лучше писать грамотный код и кешировать вывод в нужных местах. 4-ый вариант вообще бред, не пойму, что ты этим хочешь сказать, в UMI.CMS не так сделан шаблонизатор.
И теперь наступает судьбоносный момент (звук фанфар, барабанная дробь) - готовые шаблонизаторы... Та-да-да! На кой байт изобретать колесо, если оно уже есть? Скажем в составе твоего фреймворка? Или в составе твоей ЦМС... Ты что будешь к этому писать свой шаблонизатор? Это раз... Ни один шаблонизатор ещё не изобрёл ничего такого, чего бы не было в другом, ни в плане функциональности, ни в плане синтаксиса. Или ты считаешь что выучить менее десятка управляющих конструкций, и чуть более десятка функций - это непомерная задача для программиста? Ты говоришь о минусах в готовых шаблонизаторах, о тормозах и т.д. Ты это видел на практике? Или это надуманно говоришь в силу того, что тебе сложно это освоить? Так вот, любой шаблонизатор поддерживает кеширование, очень гибкую работу с результатом шаблонизации, неимоверные возможности в плане расширения функциональности шаблонизатора - плагины, свои функции, свои конструкции и т.д. Где минусы?
Моё мнение - имхо, лучше чем смарти, для какого-нибудь стартапа, который делаешь ты ничего никто никогда не создавал. Это мнение не только моё. Если тебе по долгу службы пришлось столкнуться уже с готовым шаблонизатором (скажем в ЦМС какой-нибудь) так вот с ним и работай. Если ты работаешь с каким-нибудь Wordpress где нет шаблонизатора, а темплейты представляют из себя месиво PHP + HTML, то работай с этим месивом... Умей комбинировать знания и опыт, не изобретать колёса, грамотно разобраться в узких местах проекта...
Когда человек рассуждает на тему "сымый быстрый", то вместо ответа на свой вопрос он хочет услышать "дада, тот вариант, который ты назвал самым быстрым - самый лучший".
Ах да, чуть не забыл, мое мнение.
ИМХО PHP - лучший шаблонизатор.
groundhog, мнение понятно. Я в принципе так и поступаю. Раньше был ярым приверженцем Smarty, но как столкнулся с HTML+PHP начал немного всё переосмысливать. Мне кажется что тут разницы то фактической нет. Или ты пишешь
{foreach from=$articles item=article}
<p>$article</p>
{/foreach}
или
<?foreach($articles as $artice):?>
<p><?=$article;?></p>
<?endforeach;?>
Разумеется я не имел в виду код типа
<div ....>
<p>
<?php
php-code.......
?>
</p>
</div>
groundhog
19.02.2009, 16:28
Вот... Ты умеешь понять необходимость использования той или иной технологии в разработке... Но есть и задачи, которые лучше будут смотреться на шаблонизаторе недели чем в кусках PHP-кода...
SleepShadowWeb
19.02.2009, 17:41
однозначно PHP и никто не докажет обратное..
groundhog
19.02.2009, 17:46
Иногда проще спорить с голодным тигром, чем с сытым бараном...
Но есть и задачи, которые лучше будут смотреться на шаблонизаторе недели чем в кусках PHP-кода... А кто тебе сказал, что PHP - не шаблонизатор? Тебя наебали.
groundhog
19.02.2009, 18:12
А кто тебе сказал, что PHP - не шаблонизатор? Тебя наебали.
Слова, достойные мембера группы "Резервисты Античата"... Печально... Даже если это в шутку сказано, очень печально, что ты опустился до этого... :) Раз уж на то пошло, тогда и С++ всего лишь шаблонизатор, а то, что придумали идеологию ресурсов - это всё ***ня... Куда проще хуярить CreateWindow в коде, чем разделить логику и представление...
имхо я пока не юзал нечего кроме хтемплате.. конкретно он меня не устраивает так как в нем нет возможности юзать такие конструкции
{foreach from=$articles item=article}
<p>$article</p>
{/foreach}
скоро начну писать свой шаблонизатор (просто ради практики.. делать мне нечего).. суть такая.. на входе имеем шаблон вида (как выше) после обработки получаем шаблон вида
foreach($articles as $artice) {
echo '<p>'.$article.'</p>';
}
сохраняем результат в другой файл и далее подключаем его вместо оригинального шаблона и все.. получается удобный синтаксис для написания шаблонов и 0 потеря производительности по сравнению с чистым пхп
Я что-то не уловил разницы между 2-м и четвертым видомом. Не знаю как там в Smarty, но в шаблонизаторе Джанго, к примеру, можно и то и другое делать.
Кстати: любой нормальный шаблонизатор должен отделять бизнес-логику в коде веб-приложения от логики представления в коде шаблона.
Шаблониазаторы нужны прежде всего для ускорения процесса разработки и сопровождения кода, если вам в этом плане они не помагают - так и не пользуйтесь ими (как nerezus).
Так же, я бы выделил еще один вид шаблонизаторов (например, breve), позволяющих избавиться от необходимости писать html-код вообще.
Раз уж на то пошло, тогда и С++ всего лишь шаблонизатор Нет. Его нельзя встроить в текстовый файл так, чтобы вставки его исполнялись.
Куда проще хуярить CreateWindow в коде, чем разделить логику и представление... Я предлагаю использовать MVC.
Да, необходим шаблонизатор.
В качестве шаблонизатора я юзаю PHP.
И могу объяснить почему. В скайпе. И ты согласишься со мной, т.к. я разобью твои доводы. Велкам ту скайп?
Только не надо путать мешанину типа
foreach($articles as $artice) {
echo '<p>'.$article.'</p>';
}
и шаблон типа:
<? foreach ($articles as $article): ?>
<?=$article?>
<?endforeach?>
А работу на публику типа "печально" можно говорить лишь тогда, когда знаешь не только свою точку зрения, но и понимаешь то, что говорит тебе в споре опонент. Иначе будет не круто =)
- так и не пользуйтесь ими (как nerezus). Еще один.
Пользуюсь я ими, пользуюсь.
Пользовался тремя(Smarty, PHP, XSLT), больше всего понравился PHP.
И никакой логики приложения в шаблонах НЕТУ. Только логика отображения.
Мне кажется что nerezus прав, он ведь не пишет в шаблоне коды большие на пыхе, а ток переменные и конструкции, и тут есть много плюсов:
1.можно использовать весь пхп, все его функции, а не только что предусмотрели разработчики шаблонизатора
2.более безопасно, так как в шаблонизаторе могут быть дыры, а ты о них даже знать не будешь
ну и 3 это легкость восприятия, каждый поймет этот шаблон, ему не надо будет учить синтаксис шаблонизатора
groundhog
19.02.2009, 20:57
Нет. Его нельзя встроить в текстовый файл так, чтобы вставки его исполнялись.
Директивы препроцессора.
Насчёт скайпа - времени нету переливать из пустого в порожнее, PHP-код, есть PHP-код, шаблонизатор - механизм абстракции над PHP-кодом. PHP-не может быть абстракцией над самим собой, следовательно называть его шаблонизатором некорректно. То, что ты называешь шаблонизатором есть "вставки PHP-кода в страницу".
И кстати:
foreach($articles as $artice) {
echo '<p>'.$article.'</p>';
}
и
<? foreach ($articles as $article): ?>
<?=$article?>
<?endforeach?>
суть одно и то же - код на языке PHP.
А работу на публику типа "печально" можно говорить лишь тогда, когда знаешь не только свою точку зрения, но и понимаешь то, что говорит тебе в споре опонент. Иначе будет не круто =)
Если опонент путается в элементарнейших терминах, называет например жопу сиськами (только потому что она тоже округлой формы, бугорками и за неё можно подержаться), при этом несёт полную чушь и даже не пытается рассмотреть чужую точку зрения - считаю дальнейшую дискуссию пустой тратой времени. Ты для меня ничего нового не откроешь ни в плане знаний о PHP, ни в плане притянутых за уши "открытий".
шаблонизатор - механизм абстракции над PHP-кодом. Ой, шаблонизаторы бывают только в пхп? А я то и не знал.
P.S. Тебя снова наебали.
P.P.S. Посмотри в википедии определение.
суть одно и то же - код на языке PHP. Только во втором случае PHP используется в качестве шаблонизатора.
Ты для меня ничего нового не откроешь ни в плане знаний о PHP, ни в плане притянутых за уши "открытий". Хех, жаль. А то бы я прочитал тебе лекцию о шаблонизаторах или пользе той же википедии.
groundhog
19.02.2009, 21:12
Нер, ты как дитё, которое до хера глупостей сказало, и чтобы перед другими детьми не потерять авторитет начинает пороть чушь, и чем дальше это заходит, тем большую чушь ты начинаешь пороть. Я что сказал что они только в пхп бывают? Мы просто СЕЙЧАС говорим о php. И поверь, пока ты путаешься в терминах и их осмыслении, тебе рано лекции читать, ну разве только в школе в классах 7-8 (и мне кажется что у тебя такой опыт был), именно там такой уровень знаний.
Имея не большой опыт написания сайтиков скажу.
шаблоны нужны НЕ на пхп по 3-м причинам
неудобно тем же верстальщикам (думайте о других)
небезопастно (ведь используется парсер пхп, а следовательно можно получить уязвимостей и пополнить библиотеку эксплойтов)
неуниверсально (а если проект переедет на ASP или Perl)
итого использовать пхп шаблончики только для мини-проектов(как кто-то говорил выше).
вот вопрос в скорости.... например vkontakte какой принцип используют? ведь там производительность очень важный фактор!
неудобно тем же верстальщикам (думайте о других) Почему?
Чем <? хуже, чем {?
Ответь на этот вопрос.
Моему верстальщику пофигу на эту разницу.
небезопастно (ведь используется парсер пхп, а следовательно можно получить уязвимостей и пополнить библиотеку эксплойтов) Верстальщик не делает шаблоны вида eval(@$_GET['xaka']). Чем небезопасней? В смарти тоже можно какашку вставить. и?
неуниверсально (а если проект переедет на ASP или Perl) Зачем?
пхп шаблончики только для мини-проектов(как кто-то говорил выше). Полметра собственного кода и 20мб чужих библиотек - маленький проектик?
Верстальщик не делает шаблоны вида eval(@$_GET['xaka']). Чем небезопасней? В смарти тоже можно какашку вставить. и?
xss
неуниверсально (а если проект переедет на ASP или Perl)
Зачем?
а зачем виртуализация?
-- - - - -
но основная проблема проблема в безопастности.
nerezus, ты чегото пытаешься обламать всех. Да, может ты имеешь много опыта и т.д. НО опытные люди тоже ошибаются (дороже других эти ошибки), а еще чаше когда зазнаются и леняться и неприслушиваются к другим, посмотри сколько крупных проектов были подержаны атакам.
Тебя кто то обидел?) что ты такой агресивный?)
тебя не заставляют и не навязывают, просто рассматриваем + и -
xss |escape для смарти escape() для PHP(своя ф-ия)
Разница лишь в синтаксисе.
groundhog
20.02.2009, 00:24
Вам всё равно не переспорить Нерезуса, я уже говорил про сытого тигра... Нерезус похоже ещё не наелся...
З.Ы. Я тя обожаю, Нер.
nerezus, аргументируй пожалуйста свой ответ. И я, и groundhog описали почему мы считаем именно так.
По теме. Мне кажется что здесь всё сводится к тому для каких целей всё это нужно. В принципе любой спор на тему программирования к этому и идёт - не что лучше, а что под какие задачи лучше =). Я думаю что первый вариант возможен для небольших проектиков т.к. если брать шаблоны с множеством вставок то на них смотреть просто нереально. Хотя с другой стороны, разбив эту "нереальность" на множество маленьких шаблонов, можно получить неплохой вариант. Тогда получается что готовые шаблонизаторы и XSLT нужно использовать в больших проектах. Я прав? Кстати давно читал про XSLT что при большом кол-ве шаблонов трудно в них разбираться и можно быстро запутаться. Никто с такой ситуацией не сталкивался?
.:EnoT:.
20.02.2009, 14:00
Я вообще считаю, что нормальный шаблонизатор это полное отделение программного кода от html. Поэтому очень давно юзаю шаблонизатор такого рода: tpl файл основного каркаса и множество tpl-файлов составляющих отдельные куски (менюшки всякие, таблицы, и т.д.). Далее небольшой класс шаблонизатора и весь php код заменяется на указанные теги ({TAG}) в шаблоне. Всё имхо до ужаса просто и удобно, что в общем делает его универсальным.
Итак, для начала разберемся в понятии шаблонизатор.
Читаем определение: http://en.wikipedia.org/wiki/Template_processor
Перевод для двоечников: Шаблонизатор - программа(либо часть программы), предназначенная для объединения шаблоов с данными, в результате которого получаются целевые документы.
Итак, чем пхп не шаблонизатор?
В нем даже альтернативный синтаксис есть, который служит для этого дела.
А теперь назовите отличия Smarty от PHP в роли шаблонизатора?
Итак: вставка в текст, циклы, условия, модификаторы - все есть, причем в ~одинаковое количество кода. Они равны в этом.
Минусы по сравнению со Smarty - их нет. Никаких новых ошибок нельзя добавить, возможности те же. Так почему некоторые не считают PHP шаблонизатором - загадка.
Причем шаблонизатором уровня Smarty.
не что лучше, а что под какие задачи лучше =). Шаблонизатор PHP и Smarty - инструменты для одного круга задач. И эти инструменты к тому же одинакового уровня.
т.к. если брать шаблоны с множеством вставок то на них смотреть просто нереально. Неверно. Разница будет лишь в скобках.
Смотри: <?=$someVariable?> и {$someVariable}. Разницы нет.
Кстати давно читал про XSLT что при большом кол-ве шаблонов трудно в них разбираться и можно быстро запутаться. Никто с такой ситуацией не сталкивался? Так. Почитай документацию Django, там написано, почему они отказались от него.
P.S. Повторю третий раз: я ЗА шаблонизаторы. В ЛЮБЫХ проектах. Но PHP - тоже шаблонизатор. Уровня Smarty, если хотите сравнение.
.:EnoT:.
20.02.2009, 14:25
Нер, не знаю, то ли это треш, то ли ты покурил.
В твоём понимании <?php echo 'Hello Word'; ?> это шаблонизатор?
Как уже писалось выше, с таким взглядом можно сказать, что любой язык шаблонизатор. А не шаблонизаторами можно назвать ли программы под консоль получается?
Тогда скоро темы будут не "Какой язык программирования учить?" а "Какой шаблонизатор поучить?".
PHP прежде всего язык программирования.
С таким же успехом можно назвать пылесос межпланетным космическим бомбардировщиком. ну это же бред чистой воды
groundhog
20.02.2009, 15:02
Нер, пора уже остановиться и не ебсти мозг людям. Чего ты добиваешься? Просто постебаться, так уже пора остановиться. Отстоять свою неверную точку зрения? Ты всё равно это не сможешь.
Итак, чем пхп не шаблонизатор?
Где MVC? Где отделение engine от raw_templates? PHP - это, блять, язык программирования, блять.
В нем даже альтернативный синтаксис есть, который служит для этого дела.
Такой синтаксис достался от PHP/FI. Вот тогда, можно было прикинуться шлангом, и называть его языком шаблонизатора, т.к. там реально кроме управляющих конструкций ничего особого не было. Альтернативный синтаксис это альтернативный синтаксис, это, блять, конструкции ЯЗЫКА PHP и ниибёт.
Шаблонизатор PHP и Smarty - инструменты для одного круга задач. И эти инструменты к тому же одинакового уровня.
Какой уровень? Ты в своём уме? Ты состоянии отличить язык шаблонизатора (который обрабатывается через PHP) от языка программирования, на котором написан Template Engine?! Чё ты за берд несёшь?
Но PHP - тоже шаблонизатор. Уровня Smarty, если хотите сравнение.
Нерезус, ты хочешь казаться лолом? Я начинаю разочаровываться в тебе как в специалисте... Я просто в шоке!
В твоём понимании <?php echo 'Hello Word'; ?> это шаблонизатор?
Нет конечно.
Как уже писалось выше, с таким взглядом можно сказать, что любой язык шаблонизатор. Нет, т.к. они не могут выполнить таких задач.
Вот asp и jsp кстати тоже под шаблонизатор подходят.
PHP прежде всего язык программирования. Согласен. Но он может быть использован и в качестве шаблонизатора.
Где MVC? Где отделение engine от raw_templates?
Есть все =)
Ну блин, хочешь я тебе Smarty-style интерфейс дам?
PHP - это, блять, язык программирования, блять. Согласен. Но и шаблонизатор тоже.
Альтернативный синтаксис это альтернативный синтаксис, это, блять, конструкции ЯЗЫКА PHP и ниибёт. Правильно. Она очень подходит для использования шаблонов.
ы состоянии отличить язык шаблонизатора (который обрабатывается через PHP) от языка программирования Ты тупой. Я раз 10 заострял твое внимание, что PHP используется в качестве шаблонизатора, а не ЯП. В качестве шаблонизатора. В качестве шаблонизатора. В качестве шаблонизатора. В качестве шаблонизатора.
Когда мы его используем шаблонизатор, то мы не смешиваем логику и отображение. Мы используем его только для отображения. Когда мы его используем шаблонизатор, то мы не смешиваем логику и отображение. Мы используем его только для отображения. Когда мы его используем шаблонизатор, то мы не смешиваем логику и отображение. Мы используем его только для отображения.
Вот.
Я начинаю разочаровываться в тебе как в специалисте... Я просто в шоке! Скорее всего через пару десятков проектов и нескольких лет опыта ты снова в меня поверишь.
P.S. Посмотри Zend Framework View. О да, Zend Framework писали нубы, у них же шаблоны на PHP.
P.P.S. О, что уж говорить о Symfony - как это самые крутые фреймворки, да нубами написаны. Тоже шаблоны на PHP. Совсем идиоты, ога ога.
groundhog
20.02.2009, 15:39
No comments... Весь инет написан на шаблонизаторе... Пойду набухаюсь...
Весь инет написан на шаблонизаторе... Пойду набухаюсь... Ты тупой. Я раз 11 заострял твое внимание, что в шаблонах PHP используется в качестве шаблонизатора, а не ЯП. В качестве шаблонизатора. В качестве шаблонизатора. В качестве шаблонизатора. В качестве шаблонизатора.
groundhog
20.02.2009, 15:43
PHP - это шаблонизатор. PHP - это шаблонизатор. PHP - это шаблонизатор. PHP - это шаблонизатор. PHP - это шаблонизатор. PHP - это шаблонизатор. Я тупой. Я тупой. Я тупой. Я тупой. Я тупой. Я тупой. Я тупой. Я тупой. Я тупой. Я тупой.
P.S. Посмотри Zend Framework View. О да, Zend Framework писали нубы, у них же шаблоны на PHP.
P.P.S. О, что уж говорить о Symfony - как это самые крутые фреймворки, да нубами написаны. Тоже шаблоны на PHP. Совсем идиоты, ога ога. Ты на это вниманиек обрати, если мне не веришь.
PHP может быть как ЯП, так и шаблонизатором.
.:EnoT:.
20.02.2009, 16:43
No comments... Весь инет написан на шаблонизаторе... Пойду набухаюсь...
Точнее говоря весь инет написан в качестве шаблонизатора)
Нет, т.к. они не могут выполнить таких задач.
Вот asp и jsp кстати тоже под шаблонизатор подходят.
Каких задач? Как написано выше:
Шаблонизатор - программа(либо часть программы), предназначенная для объединения шаблоов с данными, в результате которого получаются целевые документы.
Получается, любая программа с GUI-интерфейсом подходит под твоё определение о шаблонизации.
Ну к примеру другой код:
<?php
$code = "echo '<h1>Цыферки</h1><br/>';
for(\$i=1; \$i <= 10; \$i++) echo \$i.'<br/>';
echo '<h2>Конец цыферок</h2>';";
eval($code);
?>
Это по твоему шаблонизатор? Объединяет шаблон с данными, получается конечный документ.....если это шаблон, то это смешно, имхо)
Или приведи пример твоего понимания что "php это шаблонизатор"....простейший пример, в пару строк..
$code = "echo '<h1>Цыферки</h1><br/>';
for(\$i=1; \$i <= 10; \$i++) echo \$i.'<br/>';
echo '<h2>Конец цыферок</h2>';";
eval($code);
nerezus и не говорил что подобное это шаблонизатор.... вы уже начинаете писать отсебятину чтоб только доказать что вы правы..
<? foreach ($articles as $article): ?>
<?=$article?>
<?endforeach?>
конкретно он в пример приводит такой синтаксис, и он пытается до вас донести не то что php это шаблонизатор а то что конкретно в данном случае (при написании шаблонов используя такой синтаксис пыха) его можно расматривать как шаблонизатор + такой вариант написания отличается от смарти *2* символами и по идее одно и тоже.
согласен это не верх эстетики.. но я считаю что такой вариант достоин жизни. Да и вообще шаблонизация ет дело вкуса, один может тащится от смарти второй свято верит в то что чистый пых это самое лучшее =)
.:EnoT:.
21.02.2009, 00:44
согласен это не верх эстетики.. но я считаю что такой вариант достоин жизни. Да и вообще шаблонизация ет дело вкуса, один может тащится от смарти второй свято верит в то что чистый пых это самое лучшее =)
а никто и не спорит) каждый дрочит как захочет)
Тот код что ты привёл, это чистый php-код и никакой шаблонизации я тут не вижу.
вы уже начинаете писать отсебятину чтоб только доказать что вы правы..
Например?
он пытается до вас донести не то что php это шаблонизатор
https://forum.antichat.ru/showpost.php?p=1126896&postcount=27
В этом посте:
PHP в роли шаблонизатора
Так почему некоторые не считают PHP шаблонизатором - загадка
Итак, чем пхп не шаблонизатор?
Шаблонизатор PHP и Smarty
Но PHP - тоже шаблонизатор
Он пытается до нас это донести. Если б он сказал, что с помощью языка php можно делать шаблонизацию, тогда вопросов не было. А то php шаблонизатор. Тут опять же возвращаясь к прошлому моему посту, получается каждый вывод в браузер можно назвать шаблонизацией? Это тупо..
Если б он сказал, что с помощью языка php можно делать шаблонизацию, тогда вопросов не было. А то php шаблонизатор. Тут опять же возвращаясь к прошлому моему посту, получается каждый вывод в браузер можно назвать шаблонизацией? PHP можно юзать как ЯП, а можно - как шаблонизатор. Я это говорю.
Другие ЯП нельзя юзать(за редким исключением) из-за особенности синтаксиса.
кто ломал xoops тот знает, что шаблоны не на пхп залог безопастности.
еслиб там были пхп шаблоны залить шел несостовляло бы труда!!!
так, что уважаемые гуру, вот вам пример положительной стороны не ПХП шаблонов.
или Вы считаете что xoops пишут лохи?
- - -
таким образом, если в модуле к движку нашли иньекцию, шелл не залить!
кто ломал xoops тот знает, что шаблоны не на пхп залог безопастности.
еслиб там были пхп шаблоны залить шел несостовляло бы труда!!!
так, что уважаемые гуру, вот вам пример положительной стороны не ПХП шаблонов.
или Вы считаете что xoops пишут лохи?
- - -
таким образом, если в модуле к движку нашли иньекцию, шелл не залить!
ну кстати и в шаблонизаторах бывают баги, тот же смарти как пример, а в самодельных все еще проще.
хмм =) а я ваще использую 4ый вариант..
<table>
<tr><td>бла</td></tr>
<!--block-->
<tr><td>{ДАННЫЕ ИЗ БД.... это блок в цикле}</td></tr>
<!--block-->
</table>
код полностью отделён от html и мне это нра =)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot