Spec-Zone.ru › Twig 2

Введение

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

Twig дружелюбен как для дизайнеров, так и для разработчиков, придерживаясь принципов PHP и добавляя полезные функции для сред шаблонизации.

Ключевые особенности:

  • Быстрый: Twig компилирует шаблоны в оптимизированный чистый PHP-код. Накладные расходы по сравнению с обычным PHP-кодом сведены к минимуму.
  • Безопасный: Twig имеет режим песочницы для оценки недоверенного кода шаблонов. Это позволяет использовать Twig в качестве языка шаблонов для приложений, где пользователи могут изменять дизайн шаблонов.
  • Гибкий: Twig работает на основе гибкого лексического анализатора и парсера. Это позволяет разработчику определять собственные пользовательские теги и фильтры, а также создавать собственные DSL.

Twig используется во многих проектах с открытым исходным кодом, таких как Symfony, Drupal8, eZPublish, phpBB, Matomo, OroCRM; и многие фреймворки поддерживают его, такие как Slim, Yii, Laravel и Codeigniter — и это лишь некоторые из них.

Предварительные требования

Для работы Twig 2.x требуется как минимум PHP 7.2.5.

Установка

Рекомендуемый способ установки Twig — через Composer:

composer require "twig/twig:^2.0"

Базовое использование API

Этот раздел предоставляет краткое введение в PHP API для Twig:

require_once '/path/to/vendor/autoload.php';

$loader = new \Twig\Loader\ArrayLoader([
    'index' => 'Hello {{ name }}!',
]);
$twig = new \Twig\Environment($loader);

echo $twig->render('index', ['name' => 'Fabien']);

Twig использует загрузчик (\Twig\Loader\ArrayLoader) для поиска шаблонов и среду (\Twig\Environment) для хранения её конфигурации.

Метод render() загружает шаблон, переданный в качестве первого аргумента, и отображает его с переменными, переданными во втором аргументе.

Поскольку шаблоны обычно хранятся в файловой системе, Twig также поставляется с загрузчиком файловой системы:

$loader = new \Twig\Loader\FilesystemLoader('/path/to/templates');
$twig = new \Twig\Environment($loader, [
    'cache' => '/path/to/compilation_cache',
]);

echo $twig->render('index.html', ['name' => 'Fabien']);
« Twig | Установка »

© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/intro.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API