Не удается загрузить помощники действий в приложении Zend-framework - PullRequest
2 голосов
/ 27 декабря 2010

Я пытаюсь создать Action Helper, но мне не сложно загрузить его, и я получаю эту ошибку:

Message: Action Helper by name Usersession not found

В моемметод действия контроллеров, где я пытаюсь вызвать этого помощника, у меня есть это:

Zend_Controller_Action_HelperBroker::addPath('/helpers/');
Zend_Controller_Action_HelperBroker::addPrefix('Helper');
$userSession = $this->_helper->getHelper('Usersession');
$this->view->session = $userSession->eendersWat();

Я бы на самом деле предпочел загрузить свои помощники из bootstrap.php, но не смог понять этони.

Мои помощники находятся в application/controller/helpers.Имя моего помощника: Usersession.php, а класс называется Helper_Usersession

Есть идеи, почему это не работает?

1 Ответ

2 голосов
/ 27 декабря 2010

Я использую что-то вроде следующего в Bootstrap:

protected function _initHelperPath()
{
    Zend_Controller_Action_HelperBroker::addPath(
            APPLICATION_PATH . '/controllers/helpers',
            'Application_Controller_Action_Helper_');
}

Затем вспомогательный класс называется 'Application_Controller_Action_Helper_Usersession', а файл находится в application/controllers/helpers/Usersession.php

Конечно,это предполагает, что вы используете Application_ в качестве пространства имен вашего приложения.В вашем случае кажется, что вы используете пустое пространство имен приложения и ни один из моих инфиксов wordy Controller_Action_, так что ваш будет выглядеть примерно так:

protected function _initHelperPath()
{
    Zend_Controller_Action_HelperBroker::addPath(
            APPLICATION_PATH . '/controllers/helpers',
            'Helper_');
}
...