twig учебник
Начало работы с веточкой
Поиск…
замечания
В этом разделе представлен обзор того, что такое ветка, и почему разработчик может захотеть ее использовать.
Он также должен упомянуть о любых крупных предметах в веточке и ссылки на связанные темы. Поскольку документация для ветви является новой, вам может потребоваться создать начальные версии этих связанных тем.
Использование базового API
Его также можно установить, загрузив исходный код и поместив его в каталог вашего проекта. Однако есть много преимуществ для использования композитора.
require '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('/path/to/templates');
$options = array(
'strict_variables' => false,
'debug' => false,
'cache'=> false
);
$twig = new Twig_Environment($loader, $options);
При создании нового экземпляра Twig_Environment
вы можете передать массив параметров в качестве второго аргумента конструктора. Вот список доступных опций:
- debug ( boolean , default
false
)
Когда установлено значение true, сгенерированные шаблоны имеют
__toString()
, который можно использовать для отображения сгенерированных узлов.
- charset ( строка , по умолчанию
utf-8
)
Шрифт, используемый шаблонами.
- base_template_class ( строка , по умолчанию
Twig_Template
)
Базовый шаблонный класс для использования для генерируемых шаблонов.
- кеш ( строка или
false
, значение по умолчанию -false
)
Абсолютный путь для хранения скомпилированных шаблонов или false, чтобы отключить кеширование (которое является значением по умолчанию).
- auto_reload ( boolean , по умолчанию унаследовано от debug )
При разработке с помощью Twig полезно перекомпилировать шаблон при изменении исходного кода. Если вы не указали значение параметра auto_reload, оно будет определяться автоматически на основе значения отладки.
- strict_variables ( boolean , default
false
)
Если установлено значение false, Twig будет молча игнорировать недопустимые переменные (переменные и / или атрибуты / методы, которые не существуют) и заменить их нулевым значением. Когда установлено значение true, Twig вместо этого выдает исключение.
- autoescape ( string или boolean , по умолчанию
true
)
Если установлено значение true, автоматическое экранирование HTML будет включено по умолчанию для всех шаблонов.
Начиная с Twig 1.8, вы можете установить стратегию экранирования для использования (html, js, false для отключения).
Начиная с Twig 1.9, вы можете установить стратегию экранирования для использования (css, url, html_attr или обратный вызов PHP, который принимает шаблон «имя файла» и должен вернуть стратегию экранирования для использования - обратный вызов не может быть именем функции, чтобы избежать столкновение со встроенными стратегиями экранирования).
Начиная с версии Twig 1.17 стратегия экранирования имени файла определяет стратегию экранирования для использования шаблона на основе расширения имени шаблона (эта стратегия не несет никаких накладных расходов во время выполнения, поскольку автоматическое экранирование выполняется во время компиляции).
- оптимизация ( целое , по умолчанию
-1
)
Флаг, который указывает, какие оптимизации применять:
set to -1 to enabled all optimalizations
set o 0 to disable all optimalitazations
Официальное руководство по установке Twig
Расширение Twig PHP (написанное на языке C) также может быть скомпилировано и установлено, и пакет PHP автоматически воспользуется преимуществом для оптимизации некоторых общих подпрограмм.
Что такое Twig?
Twig - это язык шаблонов, который компилируется для оптимизации кода PHP. Он в основном используется для вывода HTML, но также может использоваться для вывода любого другого текстового формата. Это автономный компонент, который можно легко интегрировать в любой проект PHP.
Он обеспечивает множество отличных функций:
- Autoescaping для HTML (помогает предотвратить XSS)
- Синтаксис, разработанный с учетом шаблонов (на основе шаблонов Django)
- Наследование шаблонов
- макрос
Официальная Twig Templating Documentation
Пример синтаксиса Twig:
{% extends "base.html" %}
{% block sidebar %}
{{ parent() }}
<span>Sidebar content specific to this page</span>
{% endblock sidebar %}
{% block body %}
<p>Select an item:</p>
<ul>
{% for item in list %}
<li><a href="/items/{{ item.id }}">{{ item.name }}</a>
{% else %}
<li>No items yet.
{% endfor %}
</ul>
{% endblock body %}
Вступление
Если у вас есть воздействие на другие текстовые языки шаблонов, такие как Smarty , Django или Jinja , вы должны чувствовать себя как дома с Twig . Это как дизайнер, так и разработчик , придерживаясь принципов PHP и добавляя функциональность, полезную для создания шаблонов.
Ключевыми функциями являются ...
- Fast: Twig компилирует шаблоны вплоть до простого оптимизированного кода PHP. Накладные расходы по сравнению с обычным PHP-кодом были сведены к минимуму.
- Secure: Twig имеет режим песочницы для оценки ненадежного кода шаблона. Это позволяет использовать Twig в качестве языка шаблонов для приложений, где пользователи могут изменять шаблон.
- Гибкость: Twig питается гибким лексером и парсером . Это позволяет разработчику определять свои собственные теги и фильтры и создавать свои собственные DSL.
Twig используется многими проектами с открытым исходным кодом, такими как Symfony , Drupal , eZPublish, и многие структуры поддерживают его, а также Slim , Yii , Laravel , Codeigniter , silex и Kohana - просто для того, чтобы назвать несколько.
Монтаж
Рекомендуемый способ установки Twig - через Composer :
Для пользователей php 5.x
composer require "twig/twig:~1.0"
Для пользователей php 7.x
composer require "twig/twig:~2.0"