Я где-то читал, что PHP – это язык шаблонов. Что такое язык шаблонов? Что делает PHP одним? Какие другие языки шаблонов?
Предпосылкой для языка шаблонов является то, что язык «встроен» в какой-либо другой основной документ. В частности, в вашем среднем документе общий размер документа в основном является источником документа, чем язык шаблона.
Рассмотрим два надуманных примера:
print "This is a simple document. It has three lines." print "On the second line is my name: " + firstName print "This is the third line."
против
This is a simple document. It has three lines. On the second line is my name: $firstName This is the third line.
Вы можете видеть в первом примере, язык обертывает текст документа. Во втором примере текст документа является наиболее распространенным, с небольшим количеством кода.
Некоторые языки шаблонов – это полноразмерные языки общего назначения, такие как PHP, ASP.NET и Java JSP. Другие более ограничены специально для шаблонов, таких как Velocity и FreeMarker (обе утилиты для Java).
Многие текстовые процессоры, такие как Microsoft Word, имеют свои собственные возможности шаблонов, обычно называемые «Слияние писем».
Язык шаблонов в основном представляет собой язык, который позволяет определять заполнители, которые впоследствии должны быть заменены для целей реализации проектов. Очевидно, что современные языки шаблонов не только поддерживают заполнители, но и петли и условия, которые часто необходимы для проектирования веб-страницы. Некоторые даже поддерживают более продвинутые, но все же полезные методы, такие как наследование шаблонов, макросы и песочница.
О PHP: поскольку сам PHP может быть интерполирован в HTML, он может использоваться как язык шаблонов. С другой стороны, PHP довольно подробный, особенно если короткие теги не включены.
Быстрый и многофункциональный шаблонный движок – Twig . Я бы порекомендовал его более умный. Он предлагает больше возможностей (в первую очередь наследование шаблонов) и быстрее.
Попробуйте это http://en.wikipedia.org/wiki/Template_engine_(web) .
PHP не обязательно является языком шаблонов, но он может передать этот тест из-за того, как он интерпретируется.
Когда PHP-файл читается, просматривается только код в тегах блока PHP ( <?php
и ?>
), Остальные передаются на выход. Таким образом, файл .html может обрабатываться интерпретатором PHP, и ничего не произойдет, HTML будет выводиться.
Если в некоторых областях HTML-файла были PHP-теги и код, он будет интерпретироваться и, вероятно, выводит некоторые данные в этих местах. Это можно считать шаблоном. Обычно это идея наличия выходного уровня, а затем динамический контент, который идет с ним. У вас может быть шаблон страницы продукта, а затем, основываясь на некоторой входной переменной, введите в шаблон только отдельные детали / изображения / etc.
Существуют реальные шаблонные механизмы для PHP (Smarty для одного .. http://www.smarty.net/ ), на которые вы можете взглянуть.
Я никогда не был их поклонником, но многие люди находят успех.
Вы можете прочитать на Smarty 3.
http://www.smarty.net/v3_overview
например. теперь он имеет наследование шаблонов