TP控制器杂项--------(七)

  关于控制器的U方法:

在项目开发中我们需要动态得到某一个action的URL地址,此时我们就可以用到了U方法:

U(‘地址表达式', ['参数'], [伪静态后缀], [显示域名])

U(‘Blog/read’, array('id'=>1))  U('Blog/read?id=1')   U('Blog/read?id=1')    三种效果是一样的



ajax返回

框架底层Controller类提供了ajaxReturn方法可以返回信息给客户端,并且支持json、jsonp、xml、Eval四种格式。

$data = array('test1', 'test2');

$this->ajaxReturn($data);

默认返回json格式的信息,我们可以添加参数返回指定格式  $this->ajaxReturn($data, 'xml')这样就会返回我们指定的xml格式。

我们也可以通过设置来进行选择不同的默认返回格式   DEFAULT_AJAX_RETURN 

因为json和jsonp是两种不同的东西,返回的回调函数默认为jsonpReturn();


跳转和重定向

在应用开发中,我们做完一系列的逻辑处理后会有一个从成功或者失败的结果,这样我们可以跳转到成功和失败的界面中并带有一些参数信息。

$this->success('成功信息', 'Blog/list', 3)  三个参数,分别为结果信息、跳转的界面、跳转等待时间

$this->error('失败信息', 'Blog/list', 3)

成功模板和失败模板可以在配置中进行设定

‘TMPL_ACTION_ERROR’=>THINK_PATH. 'Tpl/dispatch_jump.tpl',

‘TMPL_ACTION_SUCCESS’=>THINK_PATH. 'Tpl/dispatch_jump.tpl',

也可以使用项目内部的模板信息:Public :error    Public:success


框架中Controller类的redirect方法可以实现重定向(参数同U方法一样)

$this->redirect('重定向地址', 参数, 跳转时间, '页面正在跳转中');



I()方法

I方法是ThinkPHP用于更加方便和安全的获取系统输入变量,可以用于任何地方

例如获取get传递的id值

$id = I('get.id', 1, func) //1为默认值, func为过滤方法

I('param.id')可以获取get\post\put传来的值

可以简化成 I('id')


配置中的DEFAULT_FILTER 可以设置默认的过滤方法(可以设置多个过滤方法


变量修饰符


为了安全起见,框架中提供了很多判断请求类型的方法以供使用:



空控制器和空操作

网站使用中往往出现意想不到的情况,这时我们可以用空控制器和空操作来进行避免错误。

空控制器EmptyController是当URL地址解析不到控制器时会引用的控制器,默认使用index方法。

当找到了控制而未找到操作方法时,我们可以定义__empty方法来作为默认方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值