ZendFramework 1.11.3: «Плагин по имени« Jquery »не найден в реестре» - PullRequest
2 голосов
/ 17 февраля 2011

У меня есть два сервера.

  1. снежный барс в файловой системе HFS (без учета регистра)
  2. Gentoo Linux с файловой системой ext4 (с учетом регистра)

на них обоих я использую php 5.3 и последнюю версию apache2 и последнюю сборку Zend Framework 1.11.

под Mac OSX веб-сайт работает нормально, под linux у меня появляется следующая ошибка:

Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'Jquery' was not found in the registry; used paths: Dashboard_View_Helper_: /home/ufk/Projects/php-projects/xpo-website/application/modules/dashboard/views/helpers/ xpo_Uploadify_View_Helper_: xpo/Uploadify/View/Helper/ ZendX_JQuery_View_Helper_: ZendX/JQuery/View/Helper/ : /home/ufk/Projects/php-projects/xpo-website/application/helpers/ Zend_View_Helper_: Zend/View/Helper/' in /usr/local/ZendFramework-1.11.3/library/Zend/Loader/PluginLoader.php:412 Stack trace: 
0 /usr/local/ZendFramework-1.11.3/library/Zend/View/Abstract.php(1174): Zend_Loader_PluginLoader->load('Jquery') 
1 /usr/local/ZendFramework-1.11.3/library/Zend/View/Abstract.php(610): Zend_View_Abstract->_getPlugin('helper', 'jquery') 
2 /usr/local/ZendFramework-1.11.3/library/Zend/View/Abstract.php(336): Zend_View_Abstract->getHelper('jquery') 
3 /home/ufk/Projects/php-projects/xpo-website/application/modules/dashboard/views/scripts/game/login.phtml(1): Zend_View_A in /usr/local/ZendFramework-1.11.3/library/Zend/Loader/PluginLoader.php on line 412

Я скопировал каталог ZendX (из extras / library) в каталог библиотеки Zend Framework, расположенный по адресу /usr/local/ZendFramework/library/ZendX/.

Я инициализирую помощника, используя:

       ZendX_JQuery::enableView($view);

код внутри login.phtml, который вызывает исключение:

$this->jquery()->enable();

он даже не должен относиться к самому коду, потому что под сервером Mac OS он работает, но у меня есть и ZendX, поэтому я не могу точно определить проблему.

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Вы должны добавить вспомогательный путь. См. Руководство . Вы можете сделать это в начальной загрузке, используя Zend_Application, используя плагин FrontController, в базовом классе контроллера или непосредственно в поле зрения.

Обновление: извините, я неправильно прочитал ваш вопрос. Проблема заключается в маленьком «д». Windows нечувствительна к регистру. Вот почему это работает там. Linux нет. Таким образом, «jQuery.php» и «jquery.php» не являются одинаковыми файлами.

1 голос
/ 17 февраля 2011

Не в состоянии проверить прямо сейчас, но подозреваю, что вам нужно прописать 'q' в jQuery в этой строке:

$this->jQuery()->enable();

Обычно ZF отображает методы на имена классов, используя заглавные буквы первой буквы, так что можетбыть «необычным» прописными буквами Q в имени класса является проблемой.

...