介绍¶
欢迎阅读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版 跑。
基本的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']);