正式进驻PHPCHINA...
cakephp - controllers 的 beforeFilter 的一点应用!
上一篇 /
下一篇 2007-11-29 09:00:01
/ 个人分类:PHP应用
在您看这篇文章的时候,表示您对cakephp已经有了一定的了解!
[正文]
cakephp 是一个优质的 PHP 的 MVC 框架!但是它并不完美,也不是近乎完美!呵呵,还在发展中么,也不多做评论了,而且我也没本事写这个东西!
今天这里介绍的是其控制器里的beforeFilter属性!
beforeFilter字面理解就是 在...之前的过滤器,在什么之前呢?在控制器中的方法执行之前!那么又过滤什么呢?这个属性是你来填写内容,所以过滤器是你的方法!
var $beforeFilter = 'protect';
这里就是在任何方法调用之前,先调用 protect 方法!
pretect方法能做什么?还是先看看代码吧,这里我自己设定了一个 $protect_data 属性!
//需要保护的方法的数据
var $protect_data = array('method1','method2','protect',);
/*保护某些方法不被访问到!*/
function protect(){
//很有趣的是这个函数也可以保护其自身! o(∩_∩)o...哈哈
$url = explode('/',$this->params['url']['url']);
if(isset($url[1])){
if(in_array($url[1],$this->protect_data)){
$this->redirect('controllers/');
exit;
}
}else{
$this->redirect('controllers/');
}
}
在这里我也用到了 $params属性,该属性能返回控制器能所有用到的数据!(cake 自带的!)
从代码里我们看出,当我们在IE里直接调用这些方法的时候,页面会跳回到首页!这样的就可以有效的保护我们的方法不被访问到!
相关阅读:
- CakePHP框架连载---CakePHP的基本概念 (iceriver, 2006-12-08)
- plog 评论加验证码简单实现方式 (stcer, 2006-12-14)
- [转] 如何用数据库保存多级结构的数据 (stcer, 2007-2-13)
- FCK(PHP)我的设置 (stcer, 2007-2-15)
- ruby on rails , cakephp copy this (fnet, 2007-5-02)
- php 代码高亮显示脚本 (PConline, 2007-5-16)
- cakephp (design_dd, 2007-7-17)
- Cakephp中Ajax->link()方法的兼容性 (baohanddd, 2007-8-26)
- CakePHP中的Controller - CakePHP在MVC中的C (pizzro, 2007-9-26)
- Bakery今天又推出了4种内容处理方面的组件 (pizzro, 2007-9-30)
导入论坛
收藏
分享给好友
管理
举报
TAG:
cakephp
beforeFilter
PHP应用