ThinkPHP使用备忘打记
作者:yation 日期:2010-01-13
导入外部CSS文件必须指定type属性的值,例如:<import type='css' file="Css.common" />
上面的方式默认的import的起始路径是网站的Public目录,如果需要指定其他的目录,可以使用basepath属性,例如:
<import file="Js.Util.Array" basepath="./Common" />
IF标签
如果觉得上面的标签都无法满足条件判断要求的话,我们还可以使用if标签来定义复杂的条件判断,例如:
<if condition="($name eq 1) or ($name gt 100) "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>
在condition属性中可以支持eq等判断表达式 ,同上面的比较标签,但是不支持带有”>”、”<”等符号的用法,因为会混淆模板解析,所以下面的用法是错误的:
<if condition="$id < 5 "> value1
<else /> value2
</if>
必须改成:
<if condition="$id lt 5 "> value1
<else /> value2
</if>
由于if标签的condition属性里面基本上使用的是php语法,尽可能使用判断标签和Switch标签会更加简洁,原则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签来直接书写代码。
Php代码可以和标签在模板文件中混合使用,可以在模板文件里面书写任意的PHP语句代码 ,包括下面两种方式:
第一种是使用php标签:
<php>echo 'Hello,world!';</php>
第二种就是直接使用原始的php代码:
<?php echo 'Hello,world!'; ?>
但是php标签或者php代码里面就不能再使用标签(包括普通标签和XML标签)了,因此下面的几种方式都是无效的:
<php><eq name='name' value='value'>value</eq></php>
Php标签里面使用了eq标签,因此无效
<php>if( {$user} != 'ThinkPHP' ) echo 'ThinkPHP' ;</php>
Php标签里面使用了{$user}普通标签输出变量 ,因此无效。
<php>if( $user.name != 'ThinkPHP' ) echo 'ThinkPHP' ;</php>
Php标签里面使用了$user.name 变量输出 ,因此无效。
简而言之,在PHP标签里面不能再使用PHP本身不支持的代码。
原样输出
可以使用literal标签来防止模板标签被解析,例如:
<literal>
<if condition="$name eq 1 "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>
</literal>
上面的if标签被literal标签包含,因此if标签里面的内容并不会被模板引擎解析,而是保持原样输出。
Literal标签可以用于页面的JS代码外面,确保JS代码中的某些用法和模板引擎不产生混淆。
[本日志由 yation 于 2010-01-13 07:10 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ThinkPHP PHP 框架
相关日志:
文章来自: 本站原创
Tags: ThinkPHP PHP 框架
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇
