php view层,ThinkPHP 学习笔记 (三)View层操作

一、模板变量设置及显示

1、模板变量赋值

$this->assign('name',$value);

//或者下面的写法:

$this->name = $value; 2、变量输出

$this->display(); 3、页面显示

{$变量名称}

用 户 名:{$username}

电子邮件:{$userinfo["email"]}

注册时间:{$userinfo["regdate"]|date="Y-m-d H:i",###}

二、Volist标签用法

volist 标签用于在模板中循环输出数据集或者多维数组

mod:记录对mod求余$key:显示数组的key值$k:显示对数组循环的次数offset:从第5条开始循环length:循环10条数据

{$k}{$key}我是单元格内容{$k}{$key}我也是单元格内容
多维数组循环参考:http://www.5idev.com/p-thinkphp_tpl_volist_nested_loop.shtml

三、foreach用法

foreach标签没有volist标签那么多的功能,优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。

用 户 名:{$vo.username}

电子邮件:{$vo.email}

注册时间:{$vo.regdate|date="Y-m-d H:i",###}


四、switch用法

name 属性值为变量名称,也就是没有 $ 符号,而 value 值使用变量时需要 $ 符号,case 的 value 属性可以支持多个条件的同时判断,使用 | 符号进行分割

管理员

图像格式文件

群众

五、thinkphp常用的其他标签

1、比较标签

输出的内容比较标签> 例如:

管理员

2、present标签、notpresent标签

present 标签用来判断模板变量是否已经赋值,相当于 PHP 中的 isset() 函数行为,格式如下:

要输出的内容 notpresent 标签,为 present 标签的反义(即 !isset() )

3、defined标签、notdefined标签

网站名称:{*SITE_NAME}

该例子等同于:

if(defined("SITE_NAME")){

echo '网站名称:',constant("SITE_NAME");

}

?>

4、empty标签、notempty标签

username 为空值

该例子等同于:

if(empty($username)){

echo 'username 为空值';

}

?>

根据 empty() 函数我们知道,如下这些情况得到的结果都是 TRUE 的(使用 empty 标签会有输出):

//假设要检测的变量为 $x

$x = "";

$x = null;

var $x;

$x = array();

$x = false;

$x = 0;

$x = "0";

5、in标签、notin标签

管理群组

该例子等同于:

if(in_array(($groupId), explode(',',"1,2,3"))){

echo '管理群组';

}

?>

6、if...else标签

管理员

群众

游客

condition 属性里面还支持直接使用php代码,例如:

管理员

群众

六、thinkphp的重定向redirect

redirect 方法语法如下:

$this->redirect(string url, array params, int delay, string msg) 例子:

class IndexAction extends Action{

public function index(){

$this->redirect('select', array('status'=>1), 3, '页面跳转中~');

}

}

重定向后得到的 URL 可能为:http://www.5idev.com/index.php/Index/select/status/1

// 不延时,直接重定向

$this->redirect('select', array('status'=>1));

// 延时跳转,但不带参数,输出默认提示

$this->redirect('select', '', 3);

// 重定向到其他模块操作

$this->redirect('Public/login');

// 重定向到其他分组

$this->redirect('Admin-Public/login'); success()和error()是通过意思是隔3秒钟后刷新.

n -- 隔n秒钟

url -- 转此地址

redirect 是使用的 PHP header 重定向

七、获取系统变量

方法:

$this->方法名("变量名",["过滤方法"],["默认值"]) 例子:

$this->_get("name");// htmlspecialchars($_GET["name"])

$this->_get("name","strip_tags");

$this->_get("id","strip_tags",0);

$this->_get('id',false);//没有过滤方法(默认的也不使用) 可以在配置文件中设置默认过滤方法:

'DEFAULT_FILTER'=>'htmlspecialchars,strip_tags'

八、判断请求类型

方法

说明

isGet

判断是否是GET方式提交

isPost

判断是否是POST方式提交

isPut

判断是否是PUT方式提交

isDelete

判断是否是DELETE方式提交

isHead

判断是否是HEAD提交

九、模板的布局 参考:http://doc.thinkphp.cn/manual/layout_template.html

1、以布局模板为入口的方式配置开启LAYOUT_ON 参数(默认不开启),并且设置布局入口文件名LAYOUT_NAME(默认为layout)

一个典型的layout.html模板的写法:

{__CONTENT__}

如果项目需要使用不同的布局模板,可以动态的配置LAYOUT_NAME参数实现。如果某些页面不需要使用布局模板功能,可以在模板文件开头加上 {__NOLAYOUT__} 字符串。

2、以当前输出模板为入口的方式

在模板页中添加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值