thinkPHP 模板中的语法知识 详细介绍(十二)
本章节:介绍模板中的语法,详细的语法介绍
一、导入CSS和JS文件 ==>记住常量的是大写
1、css link 、js scr
<link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/test.css'/>
<script src='__PUBLIC__/Js/test.js'></script>
2.import(==默认是在Public文件夹下)
//导入Public文件夹下面的Js目录中的test.js文件,import标签可以省略type属性,默认就是js的
<import type='js' file='Js.test' />
<import type='css' file='Css.test' />
//可以更改默认文件夹 设置basepath属性
//就会在 根目录下找到 Other/Js/my.js,就不是默认的Public目录
<import type='js' file='Js.my' basepath='./Other'/>
3.load
//方法可以自动检测导入的文件类型
<load href='__PUBLIC__/Js/test.js' />
<load href='__PUBLIC__/Css/test.css' />
二、分支结构
1、if
<if condition='$sex eq "男"'>
男人哭吧哭吧不是罪!
<else />
做女人挺好的!
</if>
<if condition='$age lt 18'>
未成年
<elseif condition='$age eq 18'/>
奋斗吧少年!
<else />
成年
</if>
> gt
< lt
== eq
<= elt
>= egt
!= neq
=== heq
!== nheq
<switch name='myAge'> //变量不要加 $ 直接名字myAge 默认会加$
<case value='1'>太小啦你</case>
<case value='2'>你也太小</case>
<case value='30'>你还差不多</case>
<default/> 这里是默认值
</switch>
三、循环结构
1.for
<table border='1' width='500'>
/*
start(必须):循环变量开始值
end(必须):循环变量结束值
name(可选):循环变量名,默认值为i
step(可选):步进值,默认值为1,自加!
comparison(可选):判断条件,默认为lt
*/
就是我们php for中的i
<for start='0' end='10' name='j' step='2'>
<tr><td>{$j}</td><td>abc</td></tr>
</for>
//倒序
<for start='10' end='00' name='j' step='-2' comparison='gt'>
<tr><td>{$j}</td><td>abc</td></tr>
</for>
</table>
2.volist(数组遍历)
<volist name='list' id='v'>
{$v.username}<br/>
</volist>
//从下表=1的开始取2条
<volist name='list' id='v' offset='1' length='2'>
<{$v}><br>
</volist>
//遍历多维数组
<volist name='arrd' id='v'>
<{$v.id}>--<{$v.username}><br>
</volist>
3.foreach
<foreach name='list' item='v' key='k'>
{$k}-------{$v}<br/>
</foreach>
四、特殊标签(手册也有详细介绍哦)
1、比较标签
eq或者 equal 等于
模板中://等同于if else的使用 number传的变量
<eq name='number' value='10'>
如果传的name=10我就输出这里也!
<else/>
不等于10我就输出这里哦!
</eq>
neq 或者notequal 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
heq 恒等于
nheq 不恒等于
2.范围标签(类似if else逻辑和书写方式)
in
<in name='number' value='9,10,11,12'>
在这些数字里面
<else/>
不在这些数字的范围内
</in>
<notin name='number' value='9,10,11,12'>
在这些数字里面
<else/>
不在这些数字的范围内
</notin>
between
//1-10之间
<notbetween name='number' value='1,10'>
{$number}在1-10之间
<else/>
{$number}不在1到10之间
</between>
notbetween-->标签来判断变量不在某个范围内
<notbetween name="id"value="1,10">输出内容1</notbetween>
3.present
标签来判断模板变量是否已经赋值,
<present name='m'>m有赋值<else/>m没有赋值</present>
4.Empty
empty标签判断模板变量是否为空,
<empty name='number'>number为空赋值<else/>number有值</empty>
5.Defined
判断常量是否已经定义
6.Define
在模板中定义常量
7.Assing
在模板中给变量赋值
五、其他标签使用
1、*在模板中直接使用PHP代码
<php> echo "我是乐杨俊" </php> //注意里面只能写php的代码,嵌入tp的标签是不能用的
2、建议更改左右定界符
在配置文件中改变
'TMPL_L_DELIM'=>'<{', //修改左定界符
'TMPL_R_DELIM'=>'}>', //修改右定界符
thinkPHP 模板中的语法知识 详细介绍(十二)的更多相关文章
- thinkPHP 模板中的语法
一.导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='text/css' href='__PUB ...
- 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型
010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...
- HTML5中<template>标签的详细介绍
HTML5中<template>标签的详细介绍(图文) 这篇文章主要介绍了HTML5中的template标签,是HTML5入门中的重要知识,需要的朋友可以参考 一.HTML5 templa ...
- Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)
原文:Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一) 拓展压缩包的使用方式详细介绍 1:将拓展包解压:ThinkPHP3.1.2_Extend.zip --> 将其下的 \ ...
- Thinkphp 模板中直接对数据处理 模板中使用函数 中文字符串截取
1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_str ...
- thinkphp模板中foreach循环没数据的错误解决
从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...
- Linux操作系统中的文件目录结构详细介绍
"/" :Linux文件系统的入口.也是最高一级的目录. "/bin":基本系统所需要的命令,功能和"/usr/bin"类似,这个目录下的文 ...
- (数据科学学习手札32)Python中re模块的详细介绍
一.简介 关于正则表达式,我在前一篇(数据科学学习手札31)中已经做了详细介绍,本篇将对Python中自带模块re的常用功能进行总结: re作为Python中专为正则表达式相关功能做出支持的模块,提供 ...
- ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况
在ThinkPHP的模板中操作session时,可以参考ThinkPHP参考文档中的“模板—>系统变量”部分,在默认模板引擎中,语法如下: {$Think.session.user} //输出s ...
随机推荐
- C陷阱与缺陷代码分析之第2章语法陷阱
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 陷阱1 理解函数声明 作者提出一个问题:有一个首地址为0的函数,该函数返回值类型为void,没有参数.怎样用C语言的 ...
- Matlab,Visio等生成的图片的字体嵌入问题解决方法
确保所有字体嵌入,是生成高质量学术论文的必要条件.但是在Windows下,总会遇到Matlab或Visio生成字体没有嵌入的问题,当然这个问题的解决办法有很多(例如,对于Visio可以这样做:直接拷贝 ...
- 最简单的基于FFMPEG+SDL的视频播放器 ver2 (採用SDL2.0)
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
- ubuntu 常用软件
terminator:任意分割控制台 Sublime Text:文本编辑器,也是轻量级的IDE Wireshark:抓包工具 Okular:PDF等文档编辑工具 yEd:流程图等制图软件 Shutte ...
- QT在构造函数中退出程序
原地址:http://www.tuicool.com/articles/RZnYze 在QT的界面类的构造过程中,如果想退出整个程序,暴力的做法是调用exit(-1)进行,另外一种不是那么暴力的方式如 ...
- Kendo UI开发教程(20): Kendo MVVM 数据绑定(九) Text
Text绑定可以使用ViewModel来设置DOM元素的文本属性,如果需要设置input,textarea,或select的显示,需要使用value属性. 1 <span data-bind=& ...
- [ACM] 九度OJ 1553 时钟
时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1733 解决:656 题目描写叙述: 如图,给定随意时刻,求时针和分针的夹角(劣弧所相应的角). 输入: 输入包括多组測试数据.每组測试数 ...
- FFMPEG H264/H265 编码延迟问题
最新使用FFmpeg进行H264的编码时,发现视频编码有延迟,不是实时编码.进过一番研究发现,仅仅要在调用avcodec_open2函数 打开编码器时,设置AVDictionary參数就可以.关键代码 ...
- 使用JDBC进行数据库的事务操作(2)
本篇将讲诉如何使用JDBC进行数据库有关事务的操作.在上一篇博客中已经介绍了事务的概念,和在MySQL命令行窗口进行开启事务,提交事务以及回滚事务的操作. 似乎事务和批处理都可以一次同时执行多条SQL ...
- Servlet的学习之Response响应对象(3)
本篇来说明响应对象HttpServletResponse对象的最后一点内容. 首先来看响应对象控制浏览器定时刷新,在我的web应用[myservlet]中创建Servlet,在该Servlet中设置响 ...