ThinkPHP中的内置标签
ThinkPHP中的内置标签
1、内置标签分类
- 闭合标签 <tag></tag>
- 开放标签 <tag />
2、包含文件标签
主要功能:实现对文件的包含(类似于require或include)
基本语法:
<include file="模板文件名" />
特别注意:include标签中模板文件的路径是基于项目的入口文件(index.php)位置。

案例:实现项目首页功能
① 在View视图模板中,创建一个Public文件夹,作为公用文件夹
② 创建两个公用模板(header.html与footer.html)
③ 复制项目公用头部代码到header.html模板中
复制项目公用底部代码到footer.html模板中
④ 使用include内置标签包含文件

虽然以上程序可以完成对模板的包含,但是其路径过于复杂,简化之:

附加参数的使用

在模板页面,可以使用[参数名称]来实现对数据的调用

3、导入资源文件(css/js)
在原生代码中,我们进行文件导入都是通过link或script标签,如果使用的是ThinkPHP模板引擎,我们可以使用import标签实现对文件进行导入,基本语法:
<import type='type' file='file' />
参数说明:
type:导入资源文件类型,如css或js,默认为js
file:要导入的资源文件路径
特别说明:其file属性从Public资源文件夹开始算起的,使用命名空间的方式进行导入
原生代码CSS:

原生代码JS:

import标签示例代码:
1)css文件导入

2)js文件导入

特别注意:使用import标签导入资源文件时,其文件名称中一定不能出现点号。
4、volist标签(重要)
主要功能:实现对数组元素的遍历操作,基本语法:
<volist name="list" id="vo">
{$vo.id}
{$vo.name}
</volist>
参数说明:
name :必选,要遍历的数组元素
id :必选,每次遍历时,系统会将遍历结果放入变量id中
offset:要输出数据的offset(偏移量)
length:输出数据的长度,需要指定offset
key:循环索引,默认从1开始
例1:使用volist遍历一维数组

例2:使用volist遍历二维数组

例3:附加属性的使用

5、foreach标签(重要)
<foreach name="list" item="vo" >
{$vo.id}
{$vo.name}
</foreach>
参数说明:
name:必选,要遍历的数组元素
item:必选,每次遍历时,系统会自动将当前遍历结果放入变量item中
key:每次遍历时,系统会将当前元素的键值放入变量key中
例1:使用foreach变量一维数组

例2:使用foreach遍历二维数组

6、if标签(重要)
主要功能:实现if条件的判断与执行,基本语法:
<if condition="$name eq 1">
value1
<elseif condition="$name eq 2"/>
value2
<else />
value3
</if>
在实际项目开发中,对于等号可以使用==方式,但是对于如大于号、小于号等特殊符号,必须采用以下标签进行替换操作:

示例代码:

7、使用php标签
主要功能:允许我们在模板文件中直接使用php源代码(慎用)
ThinkPHP引擎方式:<php>echo "hello";</php>
PHP原生代码方式:<?php echo "think";?>

如果想禁止在模板页面中使用PHP源代码,可以使用以下配置参数:
TMPL_DENY_PHP => true :禁用PHP脚本

测试可知,以上配置参数只能禁用PHP原生代码,而无法禁用内置php标签!
ThinkPHP中的内置标签的更多相关文章
- Thinkphp中的内置标签用法
Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,im ...
- ThinkPHP 模版中的内置标签
内置标签就是模版引擎提供的一组可以完成控制.循环和判断功能的类似HTML语法的标签. 一.判断比较: 1.if标签进行条件判断 //if语句的完整格式 <if condition=&qu ...
- thinkphp中的内置操作数据库与mysql中的函数汇总
8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...
- thinkphp 内置标签volist 控制换行
thinkphp 内置标签volist 控制换行 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行 ...
- thinkphp内置标签简单讲解
thinkphp内置标签简单讲解 1.volist循环 name 需要遍历的数据 id 类似于foreach中 value offset 截取数据起始位置 length 截取数据的个数 mod 奇偶数 ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- django中模板变量与内置标签以及过滤器
本文参考 官方文档 . 一 模板变量 格式: {{ variable_name }} variable_name 命名规则与变量命名规则类似,允许字符数字下划线,不允许标点. variable_ ...
- thinkphp5内置标签
thinkphp5内置标签 知道内置标签怎么用,查手册的时候好查 却功能的时候在里面找着来用 内置标签一览 内置标签 变量输出使用普通标签就足够了,但是要完成其他的控制.循环和判断功能,就需要借助模板 ...
- javascript中的内置对象
2015.12.1 javascript中的内置对象 复习: 1.js中的内置函数 alert prompt write parseInt parseFloat eval isNaN document ...
随机推荐
- Swift用UIBezierPath来画圆角矩形、自定义多路径图形
最好的特点就是可以自定义路径,设置圆角和描边都很方便,以下为代码和效果,均在playground中实现 1.首先实现一个圆角矩形,并对此路径描边,为其绘制一个轮廓. 1 2 3 4 5 6 7 8 9 ...
- 关于ASP.NET中Button的OnClientClick属性
Button有Click属性和OnClientClick属性,执行顺序上OnClientClick先执行,调用本地脚本,根据返回值确定是否执行Click. 当返回True则执行Click,当脚本错误或 ...
- IOS UIView子类UIScrollView
转自:http://www.cnblogs.com/nightwolf/p/3222597.html 虽然apple在IOS框架中提供了很多可以直接使用的UI控件,但是在实际开发当中我们通常都是要自己 ...
- 如何快速检查js语法学习Javascript
这里给大家推荐一个快速进行语法检查的方法,可以发现绝大多数语法错误,也可以作为在线编辑器,提高编程效率. 地址:http://www.jslint.com/ 同时推荐一个在线学习Javascript的 ...
- QQ群信息统计
接口一: 1:QQ群信息统计 地址:http://localhost:8080/webServices/messageSort 注意:连接地址提交的是一个txt文件,返回是一个list的json字符串 ...
- mkinitrd 与 mkinitramfs
转载:http://blog.csdn.net/mayouyang/article/details/3997849 在进行内核编译时,需要进行制作initrd.img.在Fedora下面一般是用mki ...
- 小白日记49:kali渗透测试之Web渗透-XSS(三)-存储型XSS、DOM型XSS、神器BEFF
存储型XSS与DOM型XSS [XSS原理] 存储型XSS 1.可长期存储于服务器端 2.每次用户访问都会被执行js脚本,攻击者只需侦听指定端口 #攻击利用方法大体等于反射型xss利用 ##多出现在留 ...
- C# 之 判断或设置以管理员身份运行程序
一.判断程序是否以管理员权限运行 using System.Security.Principal; public bool IsAdministrator() { WindowsIdentity cu ...
- 保持查询语法指示的联接顺序Option(Force order)
Option(Force order) 今天和大家分享一下 SQL中强制执行联接顺序Option(Force Order) 一.SQL本身SQL引擎优化已经做的非常好了,但是也有默认的多表连接引擎效果 ...
- Callable--创建有返回值的线程
转自:JAVA 笔记 Callable 与 FutureTask:有返回值的多线程 常用的Thread类在run方法执行完之后是没有返回值的,要实现子线程完成任务后返回值给主线程需要借助第三方转存.C ...