0
点赞
收藏
分享

微信扫一扫

ThinkPHP6.0使用twig作为模板引擎及自定义过滤器

MaxWen 2022-02-12 阅读 59


ThinkPHP自带的模板引擎用起来很不顺手,好在找到了一个和Jinja2很类似的一个一个模板引擎Twig,可以集成到ThinkPHP中。

文档:

​​ https://github.com/yunwuxin/think-twig​​

安装

composer require yunwuxin/think-twig

修改配置config/view.php

<?php

return [
// 模板引擎类型使用Think
// 'type' => 'Think',
'type' => 'Twig',

// 模板后缀(可以不修改,建议修改,IDE中有语法高亮提示)
// 'view_suffix' => 'html',
'view_suffix' => 'twig',

// 自定义过滤器
'filters' => config('twig_filters')

// 其他配置项省略
];

自定义过滤器

config/twig_filters.php

<?php

// +----------------------------------------------------------------------
// | 自定义twig模板过滤器
// +----------------------------------------------------------------------

return [
// 处理静态文件url
"make_static_url" => function ($url) {
// 静态文件路径,处理开发、生产环境
$static_url = config('app.static_url');
// 应用版本配置, 处理静态文件缓存问题
$app_version = config('version.app_version');
return "$static_url$url?t=$app_version";
}
];

模板中使用自定义过滤器

<link href="{{ '/css/index.css' | make_static_url }}" rel="stylesheet



举报

相关推荐

0 条评论