【发布时间】:2012-05-27 09:53:26
【问题描述】:
我正在使用 CodeIgniter,我想创建某种过滤器来了解用户何时可以/不可以访问当前控制器
如果有人知道如何以不同的方式实现这一点,那很好,但我的想法(并试图做的)如下:
CI_Controller - 这是基本的 CodeIgniter 控制器类
MY_Controller - 我使用的扩展 CI_Controller 的基本控制器
[控制器] - 任何“物理”控制器
我尝试做的是:
MY_Controller.php
class MY_Controller extends CI_Controller{
private static $namespace = null;
private static $permission = array('site', 'settings');
public function __construct(){
if ((!isset($_SESSION['user'])) && (in_array(__CLASS__, $permission))){
throw new Exception('Unauthorized');
}
parent::__construct();
}
}
显然,这不起作用,因为 CLASS 将始终是 MY_Controller 的,而不是子对象的...并且 NAMESPACE 也不起作用。
有人知道吗?因为我真的很讨厌开始将这段 sn-p 代码放在其他每个类中,而且我稍后会需要过滤来做一些更复杂的事情......
【问题讨论】:
标签: php codeigniter