Проблема в том, что вы используете pre_controller
хук. На данный момент вы не можете получить CI-Instance для доступа к базовым классам. Они создаются только файлом начальной загрузки (system/core/CodeIgniter.php
) для локальных переменных класса и еще не назначены (system/core/Controller.php
) для суперобъекта CI.
Это должно работать, когда вы вручную загружаете роутер-класс в вашу ловушку (как это делает файл начальной загрузки).
public function before_controller_hook()
{
$RTR =& load_class('Router');
if ($RTR->class != "ControllerYouDontWant"){
// ... the magic
}
}
Надеюсь, это вам поможет.