搜索
系统检测到您的用户名不符合规范:

thinkphp5使用twig模板引擎

浏览:5190 发布日期:2016年10月25日 分类:技术分享 关键字: twig 模板 模板引擎
作者:没有哆啦A梦的大雄
QQ :206280548
转载请在文尾保留作者姓名
-------------------------------------------------------------------------
thinkphp5较之前的版本确实让人耳目一新,各种满意,唯独对这个thinkphp自带模板引擎不太满意,于是打算更换一下,在这里分享下过程。

先说明,由于本人习惯所有视图文件集中在一个目录下面,所以没有通过thinkphp的视图体系来引入twig。
也就是说,我的视图文件都是集中在根目录 的views目录下,而不是每个模块下单独一个view文件夹。

1 首先,composer引入twig。在composer.json的require中新增一行
"twig/twig": "~1.0",然后composer install安装即可。
关于composer的使用就不详讲了,不会用的小伙伴请另外学习composer使用。

composer自动引入了twig并且载入了它的命名空间,可以在vendor文件夹下看到twig文件夹,说明这一步成功了。



2、写一个视图输出函数twig
ps:可以叫view覆盖thinkphp的,也可以写在控制器里,小伙伴按需改动即可。

配置文件
function twig($template, $vars=[], $httpCode=false)
{
//定义模板目录
$loader = new \Twig_Loader_Filesystem( ROOT_PATH.'views' );
//初始化
$twig = new \Twig_Environment($loader, array(
'cache' => RUNTIME_PATH.'/twig',
'debug' => config('app_debug')
));

//函数扩展
$url_function = new Twig_SimpleFunction('url', function($url = '', $vars = '', $suffix = true, $domain = false){
return url($url, $vars, $suffix, $domain);
});
$twig->addFunction($url_function);

//输出模板
return $twig->render($template.config('twig.view_suffix'), $vars);
}
注意点:
twig模板内是不能使用自定义函数的,因此使用$twig->addFunction($function);注册自定义函数,除了url函数,还可以扩展其他的函数,过滤器,具体可以一步twig官网。


3、写一个模板文件


4、控制器输出


5、查看视图是否正确输出



成功
最佳答案
评论() 相关
收藏
没有哆啦A梦
积分:596 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /