介绍

欢迎阅读Twig文档,这是一个灵活、快速、安全的PHP模板引擎。

Twig坚持PHP的原则并添加了对模板环境有用的功能,因此对设计者和开发人员都很友好。

主要特点是。。。

  • Fast :Twig将模板编译为纯优化的PHP代码。与普通PHP代码相比,开销被降到了最低。
  • 安全 :Twig有一个沙盒模式来计算不受信任的模板代码。这使得Twig可以用作应用程序的模板语言,用户可以修改模板设计。
  • 灵活 :Twig由灵活的lexer和解析器提供支持。这允许开发人员定义自己的自定义标记和过滤器,并创建自己的DSL。

Twig被许多开源项目使用,比如Symfony、Drupal8、eZPublish、phpBB、Matomo、OroCRM;许多框架也支持Twig,比如Slim、Yii、Laravel和Codeigniter等等。

截屏视频

想从视频教程中学习吗?请查看 SymfonyCasts Twig Tutorial 好了!

先决条件

Twig3.x至少需要 PHP 7.2.5版 跑。

安装

建议通过Composer安装Twig:

1
composer require "twig/twig:^3.0"

基本的API使用

本节将简要介绍Twig的PHP API::

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\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']);