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中的内置标签的更多相关文章

  1. Thinkphp中的内置标签用法

    Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,im ...

  2. ThinkPHP 模版中的内置标签

    内置标签就是模版引擎提供的一组可以完成控制.循环和判断功能的类似HTML语法的标签.   一.判断比较:   1.if标签进行条件判断 //if语句的完整格式 <if condition=&qu ...

  3. thinkphp中的内置操作数据库与mysql中的函数汇总

    8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...

  4. thinkphp 内置标签volist 控制换行

    thinkphp 内置标签volist 控制换行 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行 ...

  5. thinkphp内置标签简单讲解

    thinkphp内置标签简单讲解 1.volist循环 name 需要遍历的数据 id 类似于foreach中 value offset 截取数据起始位置 length 截取数据的个数 mod 奇偶数 ...

  6. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  7. django中模板变量与内置标签以及过滤器

    本文参考 官方文档 . 一  模板变量 格式: {{ variable_name }} variable_name   命名规则与变量命名规则类似,允许字符数字下划线,不允许标点. variable_ ...

  8. thinkphp5内置标签

    thinkphp5内置标签 知道内置标签怎么用,查手册的时候好查 却功能的时候在里面找着来用 内置标签一览 内置标签 变量输出使用普通标签就足够了,但是要完成其他的控制.循环和判断功能,就需要借助模板 ...

  9. javascript中的内置对象

    2015.12.1 javascript中的内置对象 复习: 1.js中的内置函数 alert prompt write parseInt parseFloat eval isNaN document ...

随机推荐

  1. STL中的优先级队列(priority_queue)的自己实现priqueue

    这篇文章主要介绍堆(最大堆和最小堆),以及一些系统对一些任务,比如线程,进程做调度的时候,所采用的优先级队列. 主要思想就是,做一个最大堆(任务的权重最大的在顶端),把顶端的任务取出,重新做一个堆,处 ...

  2. 利用URLScan工具过滤URL中的特殊字符(仅针对IIS6)

    客户公司搞安全检查,扫描出来我们之前做的系统有一个高危漏洞:IIS tilde directory enumeration,也就是利用“~”字符猜解暴露短文件/文件夹名,比如,采用这种方式构造URL: ...

  3. 使用javaScript解决asp.net中mvc使用ajax提交数组参数的匹配问题

    想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总是会发生取不到值的情况,当然网上也有很多解决的例子,但都是在服 ...

  4. 终端I/O之行控制函数

    下列4个函数提供了终端设备的行控制能力.其中,filedes引用一个终端设备,否则出错返回,errno设置为ENOTTY. #include <termios.h> int tcdrain ...

  5. EF 预热

    由于EF第一次加载比较慢,所以要对EF进行一次初始化的加载,类似第一次打开网页很慢,但第二次打开都很快了的原理一样:第一次把所有静态的图片和JS缓存到本地了:当第二次打开的时候都不需要再去下载这些东西 ...

  6. mysql 历史记录查询

    SHOW SLAVE STATUS insert into jy510_admin set userid='123123' mysqlbinlog d:xampp\mysql\data\mysql-b ...

  7. javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher--转载

    原文地址:http://songjianyong.iteye.com/blog/1571029 /** * AESHelper.java * cn.com.songjy.test * * Functi ...

  8. nginx的监控配置

    最近在弄性能,在性能过程中需要监控nginx的一些配置,这里简单的搭建了环境 //下载nginx  根据自己的版本 wget http://nginx.org/download/nginx-1.6.0 ...

  9. [Windows] 解决kmplayer播放rmvb文件音视不同步

    1. 到該帖子 http://www.kmplayer.com/forums/showthread.php?t=8755 下載附件中的4個檔案放到KMP 根 目錄下(此文件已在附件中上传) 2.於KM ...

  10. 【Mood-8】IT男!五更天!

    男人从毕业到30岁之间所承受的叠加的压力,赡养父母.结婚生子.升职加薪.工作压力.生活质量,这些东西可以压得我们喘不过起来,也成为我们成长的动力, 我们累,但不说累,我们闷着头做事儿,不张扬,但每个都 ...