thinkphp6 中使用twig引擎,tp6
Published on
tp6 最新版使用twig模板
composer 安装
composer require rain-sjh/think-twig
缓存配置
'tpl_cache' => true 当为 true 时启用缓存, 当为 false 时 关闭缓存.
安装完成后在config目录view.php进行配置
return [
// 模板引擎类型使用 Think
'type' => 'Twig',
// 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
'auto_rule' => 1,
// 模板目录名
'view_dir_name' => 'view',
// 模板后缀
'view_suffix' => 'twig',
// 模板文件名分隔符
'view_depr' => DIRECTORY_SEPARATOR,
// 模板引擎普通标签开始标记
'tpl_begin' => '{{',
// 模板引擎普通标签结束标记
'tpl_end' => '}}',
// 标签库标签开始标记
'taglib_begin' => '{%',
// 标签库标签结束标记
'taglib_end' => '%}',
// 是否开启缓存
'tpl_cache' => true
];
如需拓展twig模板函数,请在extend下创建 TwigExpand.php 并实现接口
use Twig\Extension\AbstractExtension;
use Twig\NodeVisitor\NodeVisitorInterface;
use Twig\TokenParser\TokenParserInterface;
use Twig\TwigFunction;
use Twig\TwigFilter;
class TwigExpand extends AbstractExtension
{
/**
* 过滤器 拓展.
* @return TwigFilter[]
*/
public function getFilters()
{
return [
];
}
/**
* 函数 拓展.
* @return TwigFunction[]
*/
public function getFunctions()
{
return [
];
}
/**
* Token的解析器 拓展.
* @return array|TokenParserInterface[]
*/
public function getTokenParsers()
{
return [];
}
/**
* 节点访问器 拓展.
* @return array|NodeVisitorInterface[]
*/
public function getNodeVisitors()
{
return [];
}
/**
* 测试 拓展.
*
* @return Twig_Test[]
*/
public function getTests()
{
return [];
}
/**
* 运算符 拓展.
* @return array<array> First array of unary operators, second array of binary operators
*/
public function getOperators()
{
return [];
}
}