ThinkPHP框架实战讲解-模板解读

2022-10-11 14:57 栏目: 行业交流 查看()

在开发过程中,我们需要写控制器、模型、验证代码。最后要写模板代码,如果是前后端分离项目则不用写模板了。直接在接口中返回数据就可以了。模板代码包含了很多知识,下面举例介绍一下;

ThinkPHP框架实战讲解-模板解读(图1)代码

变量输出

1、常见的输出方式是使用大括号({ })的形式,里面写入变量名称。在runtime/temp目录下可以看到编译后的文件,括号解析成了<?php ?>的形式,并且里面包含htmlentities。命令如下(注意$ { 之间不能存在空格):

{$data}

2、原样解析,如果解析富文本内容时使用,使用示例:

{$data|raw}

3、默认值,使用示例:

{$data|default=这是一个默认值}

4、系统变量输出,主要是获取用户昵称,使用示例:

{$Think.session.name}

5、常量输出,使用示例:

{$Think.PHP_VERSION}

6、配置输出,主要是获取基础网址,使用示例:

{$Think.config.default_module}

ThinkPHP框架实战讲解-模板解读(图2)PHP

使用函数

1、框架内置规则:

ThinkPHP框架实战讲解-模板解读(图3)

2、应用方式:

2.1、单函数应用,使用示例:

{$data.name|md5}

2.2、多函数应用,使用示例:

{$name|md5|upper|substr=0,3}

ThinkPHP框架实战讲解-模板解读(图4)互联网开发

运算符

1、常见运算符

ThinkPHP框架实战讲解-模板解读(图5)

2、三元运算符

2.1、默认写法

{$status?正常:错误}

2.2、简单写法,表示有则输出,无则输出默认值

{$name ??默认值}

2.3、为真写法,表示为真的时候才输出默认值

{$name?=默认值}

2.3、真假写法、表示为真输出值,否则输出默认值

{$name ?:NO}

2.4、表达式写法,表达式为真则输出值一,否则输出值二

{$a==$b ?yes:no}

ThinkPHP框架实战讲解-模板解读(图6)程序代码

原样输出

原样输出使用较少,如果想让输出内容不被模板标签所解析,使用如下命令进行输出:

{literal} Hello,{$name}!{/literal}

模板注释

模板注释和代码注释是两种方式,模板注释不会在页面上查看到被注释的代码,而代码注释则可以查看的到。使用方式如下:

{/* 这是模板注释内容*/} 或 {// 这是模板注释内容 }

模板布局

模板布局总结来说就两点:配置和模板;

配置分为模块配置和应用配置,一般情况下后台多应用模板布局方式,在后台模块config/template.php文件内(默认不存在,需手动创建)设置如下代码:

layout_on=>true, //开启布局模式layout_name=>layout, //布局文件名称,可设置为 index/layout目录形式layout_item=>{__REPLACE__} //输出替换变量

模板继承

在实际项目开发过程中使用较少,主要是因为继承过于麻烦。

包含文件

在实际项目开发过程中,前端页面使用较多,使用方式较为单一;

1、使用模版文件,多个文件使用逗号分隔;

{include file="public/header,public/menu"/}

2、传入参数,此方式需注意模板中变量值必须存在

{include file="Public/header" keywords="开源WEB开发框架"/}

ThinkPHP框架实战讲解-模板解读(图7)开发代码

输出替换

1、配置,在应用或模块配置目录下的template.php文件中进行如下代码配置:

tpl_replace_string=>[__STATIC__=>/static,__JS__=>/static/javascript,]

2、总结,优点:方便更改;但是不建议使用,建议在开发过程中设置好目录位置。

标签库

标签库类似于Java的Struts中的JSP标签库,每一个标签库是一个独立的标签库文件,标签库中的每一个标签完成某个功能,采用XML标签方式(包括开放标签和闭合标签)。具体内容请参考官方文档。

内置标签

1、普通循环标签,使用示例:

{volist name="list" id="vo" key="k"}{$k}.{$vo.name}{/volist}

如果没有指定key属性的话,默认使用循环变量i

2、控制输出行数,如输出其中的第5~15条记录,使用示例:

{volist name="list" id="vo" offset="5" length=10}{$vo.name}{/volist}

3、比较标签(不常用)

ThinkPHP框架实战讲解-模板解读(图8)

4、SWITCH标签(不常用),使用示例:

{switch User.level} {case 1}value1{/case} {case 2}value2{/case} {default /}default {/switch}

5、资源文件加载(常用),使用实例:

{load href="/static/js/common.js,/static/css/style.css"/}

ThinkPHP框架实战讲解-模板解读(图9)互联网

标签扩展

此扩展在开发过程中并不常用,使用起来较为麻烦。

举报/反馈
扫二维码与项目经理沟通

全景拍摄制作、网站/小程序/App开发

家装/婚庆/餐饮/教育/公共医疗等行业解决方案

郑重申明:元创全景以外的任何单位或个人,不得使用该内容作为工作成功案例展示!部分素材来源网络,如有侵权,请联系删除。