Не могу решить проблему: Cannot instantiate abstract class

Всем привет, мне нужно написать небольшой скрипт для мониторинга игровых серверов. Использую codeigniter и вот этот класс:
http://pastebin.com/1cvCNkxM
http://pastebin.com/dgMceuAg

Суть вопроса такова: когда запускаю скрипт без CI, все работает на ура, а когда пытаюсь прикрутить класс на фреймворк, получаю ошибку: Fatal error: Cannot instantiate abstract class ServerQueries in ...cisystemcoreLoader.php on line 1099.

Учитывая то, что недавно начал изучать PHP, не могу решить проблему. Поиски в интернете еще больше запутали меня. Нашлось несколько решений, в которых говорилось подключать данные скрипты через include/require, а не через сам CI, но в конечном итоге результат был аналогичен подключению через CI.

UPD: Поместил скрипты в папку application/helpers. Все работает, но нудно найти более "лаконичный" способ решить эту проблем. Спасибо.

1 ответов


Одно из двух: либо где-то вызывается new ServerQueries, либо кодигнитер писали уж совсем левые чуваки, которые создают по экземпляру всего, что попадает в руки. В любом случае надо лезть в файл system\core\Loader.php и смотреть, что там на строке 1099 и трейсить оттуда. На гитхабе на этой строке вполне безобидный брейк, так что я не смогу отсюда ничего сказать.

upd: кажется, нашелhttps://github.com/EllisLab/CodeIgniter/blob/2.1-stable/system/core/Loader.php#l1099, но все равно отсюда ничего сказать не могу. Кто-то и зачем-то вызывает _ci_init_class. Возможно, у кого-то такой безумный автолоад, который автоматом вызывается вкупе с class_exists.