PyroCMS — Загрузка пользовательской библиотеки в модуль

Я пишу модуль PyroCMS, который включает загрузку изображений и создание эскизов. Я знаю, что codeigniter имеет встроенный класс обработки изображений, способный создавать миниатюры, но я большой сторонник адаптивной функции изменения размера phpThumb. По этой причине я хотел бы попытаться заставить phpThumb работать.

Я поместил файлы phpThumb в ./addons/shared_addons/modules/mymodule/libraries

и я пытаюсь загрузить, используя следующее:

$this->load->library('phpThumb/ThumbLib.inc.php');

Я включаю расширение, потому что файл .inc.php не является файлом .php, верно? В любом случае, если я сохраню расширение или нет, я получаю эту ошибку:

Class 'ThumbLib.inc.php' not found in .../htdocs/system/cms/libraries/MX/Loader.php on line 160

Кто-нибудь знает, что я делаю неправильно?

Спасибо, Эд.


person edhardie    schedule 16.02.2012    source источник


Ответы (2)


Соглашения об именах загрузчиков, вероятно, более строгие, поэтому вам может потребоваться переименовать ваш файл во что-то вроде «Thumblib.php», а затем объявить свой класс как class Thumblib {. Вам также может понадобиться проверить, что библиотека не конфликтует ни с чем, что подходит для использования в CI.

Кроме того, я думаю, что пока вы загружаете библиотеку из контроллера в том же дереве папок модулей, что и библиотека, строка загрузки должна выглядеть примерно так:

$this->load->library('Thumblib');

Или если нет:

$this->load->library('othermodule/Thumblib');

Удачи.

person Nick Pyett    schedule 16.02.2012
comment
Да, Pyro не любит .inc.php... $this->load->library('phpThumb/Thumblib'); с именем файла Thumblib.php и именем класса Thumblib должно помочь. - person stormdrain; 16.02.2012

Это вопрос CodeIgniter, а не PyroCMS.

Простое решение:

 include 'whatever/the/hell/you.like.php';

Помните, ребята, это всего лишь PHP. Вам не нужен специальный метод для всего!

person Phil Sturgeon    schedule 20.02.2012