Intereting Posts
PHP-форму просто обновляет Не удается выполнить phpize или настроить расширение в OS X 10.9 Mavericks Создание контрольных сумм Луна Дополнительная обратная косая черта, необходимая для PHP регулярного выражения Regex, чтобы избежать двойных кавычек внутри двойных кавычек с preg_replace JQuery Datatables: JQuery Popup Box не работает под функцией – php mysql AES на стороне Java – расшифровка на стороне PHP и выбор одного ключа пытаясь прочитать live rss, но его возвращающий тот же xml Страница невыполнения LARAVEL не загружается – Ошибка 324 – ERR_EMPTY_RESPONSE Laravel перенаправить все запросы в НТТПС PHP: strtotime возвращает false для будущей даты? Magento Сохранение массива Multiselect на пользовательской модели PDO rowCount () не работает на PHP 5.2.6+ Как превратить этот часто используемый код javascript в плагин? Можете ли вы использовать построитель запросов для построения запроса с динамическим предложением WHERE во время выполнения в laravel?

Что такое язык шаблонов?

Я где-то читал, что 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 . Я бы порекомендовал его более умный. Он предлагает больше возможностей (в первую очередь наследование шаблонов) и быстрее.

    PHP не обязательно является языком шаблонов, но он может передать этот тест из-за того, как он интерпретируется.

    Когда PHP-файл читается, просматривается только код в тегах блока PHP ( <?php и ?> ), Остальные передаются на выход. Таким образом, файл .html может обрабатываться интерпретатором PHP, и ничего не произойдет, HTML будет выводиться.

    Если в некоторых областях HTML-файла были PHP-теги и код, он будет интерпретироваться и, вероятно, выводит некоторые данные в этих местах. Это можно считать шаблоном. Обычно это идея наличия выходного уровня, а затем динамический контент, который идет с ним. У вас может быть шаблон страницы продукта, а затем, основываясь на некоторой входной переменной, введите в шаблон только отдельные детали / изображения / etc.

    Существуют реальные шаблонные механизмы для PHP (Smarty для одного .. http://www.smarty.net/ ), на которые вы можете взглянуть.

    Я никогда не был их поклонником, но многие люди находят успех.

    Вы можете прочитать на Smarty 3.

    http://www.smarty.net/v3_overview

    например. теперь он имеет наследование шаблонов