Docs 简介
简介
欢迎阅读 Twig 的文档,Twig 是灵活、快速且安全的 PHP 模板引擎。
Twig 坚持 PHP 的原则,并添加了对模板环境有用的功能,因此对设计师和开发者都很友好。
主要特点是...
- 快速:Twig 将模板编译成纯粹的优化 PHP 代码。与常规 PHP 代码相比,开销已降至最低。
- 安全:Twig 具有沙箱模式来评估不受信任的模板代码。这使得 Twig 可以用作应用程序的模板语言,在这些应用程序中,用户可以修改模板设计。
- 灵活:Twig 由灵活的词法分析器和解析器驱动。这允许开发者定义他们自己的自定义标签和过滤器,并创建他们自己的 DSL。
许多开源项目都在使用 Twig,例如 Symfony、Drupal8、eZPublish、phpBB、Matomo、OroCRM;许多框架也支持它,例如 Slim、Yii、Laravel 和 Codeigniter——仅举几例。
屏幕录像
喜欢通过视频教程学习?查看 SymfonyCasts Twig 教程!
先决条件
Twig 3.x 需要至少 PHP 8.1.0 才能运行。
基本 API 用法
本节简要介绍 Twig 的 PHP API
1 2 3 4 5 6 7 8
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 也自带文件系统加载器
1 2 3 4 5 6
$loader = new \Twig\Loader\FilesystemLoader('/path/to/templates');
$twig = new \Twig\Environment($loader, [
'cache' => '/path/to/compilation_cache',
]);
echo $twig->render('index.html.twig', ['name' => 'Fabien']);