竹笋

首页 » 问答 » 常识 » ThinkPHP框架实战讲解模板解读
TUhjnbcbe - 2023/9/5 20:01:00
北京比较好荨麻疹医院 https://m-mip.39.net/disease/mip_10490515.html

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

代码

变量输出

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}

PHP

使用函数

1、框架内置规则:

2、应用方式:

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

{$data.name

md5}

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

{$name

md5

upper

substr=0,3}

互联网开发

运算符

1、常见运算符

2、三元运算符

2.1、默认写法

{$status?正常:错误}

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

{$name??默认值}

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

{$name?=默认值}

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

{$name?:NO}

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

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

程序代码

原样输出

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

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

模板注释

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

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

模板布局

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

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

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

模板继承

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

包含文件

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

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

{includefile=public/header,public/menu/}

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

{includefile=Public/headerkeywords=开源WEB开发框架/}

开发代码

输出替换

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

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

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

标签库

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

内置标签

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

{volistname=listid=vokey=k}{$k}.{$vo.name}{/volist}

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

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

{volistname=listid=vooffset=5length=10}{$vo.name}{/volist}

3、比较标签(不常用)

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

{switchUser.level}{case1}value1{/case}{case2}value2{/case}{default/}default{/switch}

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

{loadhref=/static/js/

1
查看完整版本: ThinkPHP框架实战讲解模板解读