模板引擎

内置模板引擎

视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。

可以通过下面的几种方式对模板引擎进行初始化。

配置文件

在应用配置文件中配置template参数即可,例如:

'template'               => [    // 模板引擎类型 支持 php think 支持扩展

'type'         => 'Think',    // 模板路径

'view_path'    => './template/',    // 模板后缀

'view_suffix'  => 'html',    // 模板文件名分隔符

'view_depr'    => DS,    // 模板引擎普通标签开始标记

'tpl_begin'    => '{',    // 模板引擎普通标签结束标记

'tpl_end'      => '}',    // 标签库标签开始标记

'taglib_begin' => '{',    // 标签库标签结束标记

'taglib_end'   => '}',

],

调用视图类进行操作或者使用view助手函数的时候会自动实例化相关的模板引擎并传入参数。

视图根目录

视图文件的根目录默认情况下位于模块的view目录,每个模块的视图目录可以通过模板参数view_path自定义。

V5.0.3+版本开始,新增了view_base模板引擎参数,可以用于定义全局的视图根目录,然后模块作为子目录。

实例化视图

可以在实例化视图的时候直接传入模板引擎配置参数,会在渲染输出的时候自动初始化模板引擎,例如:

$view = new View([

'type'               => 'think',

'view_path'          => './template/',

'view_suffix'        => 'php',

'view_depr'          => DS,

'tpl_begin'          => '{', // 模板引擎普通标签开始标记

'tpl_end'            => '}', // 模板引擎普通标签结束标记

'strip_space'        => true, // 去除模板文件里面的html空格与换行

'tpl_cache'          => true, // 开启模板编译缓存

'taglib_pre_load'    => '', // 需要额外加载的标签库(须指定标签库名称),多个以逗号分隔

'tpl_replace_string' => [],// 模板过滤输出(与输出替换章节不同,前者对模版进行过滤)

]);

think模板引擎是ThinkPHP内置的一个基于XML的高效的编译型模板引擎,系统默认使用的模板引擎是内置模板引擎,关于这个模板引擎的标签详细使用可以参考模板部分。

调用engine方法初始化

视图类也提供了engine方法对模板解析引擎进行初始化或者切换不同的模板引擎,例如:

view = new View();

return $view->engine('php')->fetch();

表示当前视图的模板文件使用原生php进行解析。

设置模板引擎参数

除了在实例化的时候传入外,可以动态设置模板引擎的相关参数,例如:

$view = new View();

return $view->config('view_path','./template/')->fetch();

使用第三方模板引擎

官方扩展库中提供了一个类似于angularjs语法的模板引擎think-angular,具体可以参考参考手册。

php扩展引擎手册,模板引擎-THINKPHP 5.0 手册最新版相关推荐

  1. php smarty 模版引擎,php模板引擎Smarty入门 - 小俊学习网

    如果要实现前端模板和后台逻辑业务处理相分离,MVC的思想开发网站的话,可使用模板引擎来完成.来学习php模板引擎Smarty,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法. 1. 什么是模板 ...

  2. php开发自己的模板引擎,如何用PHP来编写自己的模板引擎 - PHP|模板引擎 - 软件工程|架构设计|网站设计|艺术营销 - 河洛炎黄 - 魏文侯...

    本文的目的不是为了让大家学会如何编写一个完善的模板引擎,只是为了给PHP初学入门者解释模板引擎的原理和作用. PHP模板引擎的作用是为了让表现层逻辑和页面本身分开,让程序员和美工的工作可以相对独立,并 ...

  3. java调用js模板引擎_JavaScript模板引擎应用场景及实现原理详解

    本文实例讲述了JavaScript模板引擎应用场景及实现原理.分享给大家供大家参考,具体如下: 一.应用场景 以下应用场景可以使用模板引擎: 1.如果你有动态ajax请求数据并需要封装成视图展现给用户 ...

  4. java模板引擎 jade_Jade 模板引擎使用

    在 Express 中调用 jade 模板引擎 jade 变量调用 if 判断 循环 Case 选择 在模板中调用其他语言 可重用的 jade 块 (Mixins) 模板包含 (Includes) 模 ...

  5. java模板引擎 jade_Jade模板引擎使用详解

    在 Express 中调用 jade 模板引擎 jade 变量调用 if 判断 循环 Case 选择 在模板中调用其他语言 可重用的 jade 块 (Mixins) 模板包含 (Includes) 模 ...

  6. html界面引擎,使用模板引擎渲染HTML界面_html/css_WEB-ITnose

    使用模板引擎渲染HTML界面 by 伍雪颖 模板引擎:GRMustache pod 'GRMustache' , '~> 7.3.0' html模板: template.html {{ name ...

  7. java模板引擎 jade_模板引擎Jade详解

    有用的符号: | 竖杠后的字符会被原样输出 · 点表示下一级的所有字符都会被原样输出,不再被识别.(就是|的升级版,实现批量) include 表示引用外部文件短杠说明后面跟着的字符只是一段代码(与| ...

  8. 计算机导师制工作手册模板,全员育人导师制工作手册

    <全员育人导师制工作手册>由会员分享,可在线阅读,更多相关<全员育人导师制工作手册(3页珍藏版)>请在装配图网上搜索. 1.全员育人导师制工作手册马庄镇李家大坡小学全员育人导师 ...

  9. 计算机导师制工作手册模板,学生成长导师制工作手册

    学生成长导师制工作手册 学生成学生成长导师长导师制工作手册制工作手册社团组织:社团组织:导师姓名:导师姓名:政治身份:政治身份:填写时间:填写时间:宜昌市第二十九中学宜昌市第二十九中学市二十九中学生成 ...

  10. php 前置操作方法,前置操作-THINKPHP 5.0 手册最新版

    前置操作 可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的 ...

最新文章

  1. Swift实战-豆瓣电台(六)视图跳转,传参及回跳
  2. 在别人那看到的很不错的ext.net的基本讲解
  3. 2018.1.21 数论笔记
  4. 第一个Arduino程序
  5. 称重管理系统如何修改重量_无人值守称重系统硬件配置和作用
  6. MySQL INSERT的4种形态
  7. 2018-2019 20165232 Exp5 MSF基础应用
  8. 计算机区分活动窗口,计算机WINDWS操作题.doc
  9. Atitit Hadoop的MapReduce的执行过程、数据流的一点理解。 目录 1. Why 为什么使用hadoop 1 2. Hadoop的MapReduce的执行过程 1 2.1. Had
  10. java 获取本机地址_java如何获取本机IP地址
  11. octobercms mysql_在Ubuntu 18.04/Debian 9上安装October CMS
  12. 服务器ip显示静态表示什么,静态ip是什么意思 什么是静态IP
  13. html 半个字符,半角字符什么意思
  14. html5 canvas 椭圆,html5中怎么利用Canvas绘制椭圆
  15. 数据分析案例-文本挖掘与中文文本的统计分析
  16. 根据日期计算属于第几周(周日是一周的第一天)
  17. Vue ElementUI 修改消息提示框样式---messageBox 的大小
  18. networkx画弯曲的边
  19. 【CSS】987- 十几个 CSS 高级技巧汇总
  20. 【学习总结】Apsara Clouder云计算技能认证:网站建设:简单动态网站搭建+思维导图

热门文章

  1. VBA-保存指定工作表为工作簿文件
  2. “拖延症”的良方——对于追求完美,自制力差,情绪化的人很受用。 【谨以此文共勉。】 来源: 胡野的日志
  3. uva 10246 Asterix and Obelix(最短路问题拓展 dijkstra)
  4. Vue学习记录(三)——脚手架的使用和Vuex
  5. 433MHz,2.4GHz,GPRS,NB-IOT各有哪些特点?
  6. Java SE基础知识点总结(四)
  7. 使用阿里云实现短信发送功能
  8. 计算机cpu的型号与参数,怎么查看CPU型号和CPU核数
  9. 嵌入式系统多媒体框架分析
  10. Ubuntu下快速安装jdk、tomcat、mysql和Redis