Вот моя проблема. Я создаю приложение, которое требует фильтров. Я получил работающую систему фильтров, и я даже могу точно определить метод, к которому я хочу получить доступ в данный момент. Проблема в том, что я не могу получить доступ к ядру CI из файла фильтра. Я искал в Интернете, и хотя я нашел некоторые предлагаемые решения, такие как «Погружение в CI», они не рекомендуются, поскольку они могут вызывать нестабильные PHP-приложения.
Пример фильтра в моем приложении такой, как написано ниже
class Trust_filter extends Filter {
function before() {
$this -> ci = &get_instance();
if ($this -> ci -> auth -> is_user_active()) {
$this -> ci -> load -> model("trust_model", "trustmanager");
if ($this -> trustmanager -> verify()) {
echo "##090##";
}
}
}
}
Приведенный выше код не работает, потому что объект CI не является объектом. Я не могу получить экземпляр, и я провел всю ночь безрезультатно. Я использую CodeIgniter 1.7.1. Любая помощь будет оценена.
Редактировать: я нашел ответ на вопрос. Я расширил систему фильтров, чтобы она работала после создания конструктора, чтобы обеспечить доступ к суперобъекту CI. Мой код тоже работает отлично. спасибо всем, но я все еще заинтересован в ваших решениях.