RT.
ThinkPHP中主要变量类型:
1.从PHP分配的变量,使用assign分配
2.系统变量
3.路径替换变量
ThinkPHP通过D方法或者M方法能够在控制器中创建对应数据表的数据对象,从而对其进行数据操作。
数据操作完成之后,可以通过this->assign()方法将处理后的数据赋予一个变量,将其传给表现层,供表现层使用。
this-assign()方法,可以将一个变量,一个数组,一个对象的数据绑定到一个变量上,传递到表现层中去。在表现层中,我们通过以下几种方法进行数据调用,
//1.取出变量值
//控制器 this->assign('name',valule);
//表现层
{$name}
//2.取出数组值
//$data = array('name1'=>value1, 'name2'=>value2);
//控制器 this->assign('nameList',$data);
//表现层
//取出name1值
{$nameList['name1']}
//取出name2值
{$nameLIst['name2']}
//3.取出对象值
//控制器
//$user = M('User');
//this->assign('uobj',$user);
//表现层
//取出name值,两种方法,习惯点是用来访问数组
//冒号
{$uobj:username}
//点
{$uobj.username}
取数据的时候还可以同时对取出来的数值进行函数操作,例如:
//4.格式调节或功能操作
//将变量变为大写
{$uobj.username | strtoupper}
当然,不是所有的变量都允许使用函数。例如前面列出的变量中的第二种系统变量和第三种路径替换变量,都不允许使用函数。还有下面的非$开头的标签,都不允许使用。
//多个函数同时使用,直接用“|”分割
//函数多个变量传入
//###表示模板变量 本身的位置
{$mytime | date = 'Y-m-d', ###}
变量输出快捷标签:
//取出Session变量
{@var} || {$Think.session.var}
//取出Cookie变量
{#var} || {$Think.cookie.var}
//输出配置参数
{&var} || {$Think.config.var}
//输出语言变量
{%var} || {$Think.lang.var}
//输出GET变量
{.var} || {$Think.get.var}
//输出POST变量
{^var} || {$Think.post.var}
//输出常量
{×var} ||{$Think.const.var}
//输出$_SESSION['var1']['var2']
{@var1.var2}
//输出$_COOKIE['var1']['var2']
{#var1.var2}
ThinkPHP系统常量:
//当前网站的公开目录
__PUBLIC__
//当前网站的地址(不含域名)
__ROOT__
//当前项目的URL地址(不含域名)
__APP__
//当前模块的URL地址(不含域名)
__URL__
//当前页面的的URL
__SELF__