2013-08-23 2 views
2

Почему Zend_Autoloader не может загрузить мои классы. Tha путь к библиотеке должно быть: /root/application/modules/modulexy/MyLib (Zend Version 1,12)Zend Autoloader: пользовательская библиотека в модуле-папке

Что я сделал:

  1. В государственном/index.php

set_include_path(implode(PATH_SEPARATOR, array( ... realpath(APPLICATION_PATH . '/modules/modulexy/MyLib'), ... )));

  1. В контроллере

    $ al = Zend_Loader_Autoloader :: getInstance(); $ al-> registerNamespace ("MyLib_");

Я не хочу, чтобы переместить библиотеку /root/library

+1

Каково имя вашего класса и как файл указан и помещен в библиотеку? –

+0

Название классов выглядит примерно так: MyLib_Model_Abstract и Путь: MyLib/Model/Abstract.php – Gabe

+1

Если вы используете linux, возможно, что-то связано с прописными буквами, попробуйте использовать строчные буквы .. – joao

ответ

2

Ваш включают путь не должен включать «MyLib» часть.

Это должно работать:

set_include_path(implode(PATH_SEPARATOR, array(
     ... 
     realpath(APPLICATION_PATH . '/modules/modulexy'), 
     ... 
    ))); 

В качестве альтернативы, если вы хотите, чтобы Lib дополнительный каталог, вы могли бы

set_include_path(implode(PATH_SEPARATOR, array(
     ... 
     realpath(APPLICATION_PATH . '/modules/modulexy/lib'), 
     ... 
    ))); 

И поместите свой класс "MyLib_Model_Abstract" в «/ модулей/modulexy/Lib /MyLib/Model/Abstract.php

Смежные вопросы