ThinkPHP3.0完全开发手册
系统支持模板引擎的扩展机制,模板引擎驱动的扩展目录位于Extend/Driver/Template下面,并且命名规范为:
Template+模板引擎名(首字母大写)
模板引擎驱动不需要继承任何类库,并且只需要实现一个接口方法:
接口说明 |
使用说明 |
渲染模板输出 |
fetch($templateFile,$var) templateFile表示要解析的模板文件名 var表示要传入的模板变量数组 |
官方目前已经提供了包括Smarty、EaseTemplate、TemplateLite和Smart在内的第三方模板引擎扩展。
模板引擎扩展必须要配合第三方类库一起使用,我们以Smarty模板引擎为例,来说明下如何使用第三方模板引擎。首先,下载最新的Smarty模板引擎文件放到系统目录的Vendor第三方类库目录下面,建立Smarty子目录。
然后,修改项目配置文件,把模板引擎改为扩展的模板引擎名:
'TMPL_ENGINE_TYPE' =>'Smarty'
就可以用smarty标签来定义你的模板文件了,改变模板引擎驱动并不会影响系统内部的模板变量输出和模板文件定位,例如我们在上面提到的用assign赋值模板变量、display和fetch方法的使用、模板文件的定位规则、模板替换功能仍然都可以使用。
对于某些第三方的模板引擎,还可以用TMPL_ENGINE_CONFIG参数进行自定义的配置。
例如对于Smarty模板引擎而言,我们可以进行下面的配置参数定义:
'TMPL_ENGINE_CONFIG' =>array(
'caching' => true,
'template_dir' => TMPL_PATH,
'cache_dir' => TEMP_PATH,
)
一般情况下,无需设置TMPL_ENGINE_CONFIG参数,模板引擎驱动已经有最适合的默认值了。