Я использую CodeIgniter, и я хочу создать какой-то фильтр, чтобы узнать, когда пользователь может/не может получить доступ к текущему контроллеру.Создание фильтра из родительского класса?
Если кто-нибудь знает, как реализовать это по-другому, отлично, но о чем я думал (и пытаюсь сделать) заключается в следующем:
CI_Controller - который является базовым классом контроллера CodeIgniter
MY_Controller - основной контроллер, который я использую, который расширяет CI_Controller
[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();
}
}
очевидно, что это не работает, как КЛАССА всегда будет состоять в том MY_Controller и не то, что ребенка объект ... и NAMESPACE не работает.
У кого-нибудь есть идеи? потому что Id действительно ненавидит ставить этот фрагмент кода во всех других классах, и мне будет необходимо позже фильтровать некоторые более сложные вещи ...
Если я не ошибаюсь контроллер старая версия контроллера CodeIgniter .. В , –