Zend Framework: нужен совет о том, как реализовать вспомогательный контроллер - PullRequest
0 голосов
/ 19 августа 2010

Мне нужен совет о том, как я могу реализовать этот помощник действий. в настоящее время у меня есть что-то вроде

class Application_Controller_Action_Helper_AppendParamsToUrl extends Zend_Controller_Action_Helper_Abstract {
    function appendParamsToUrl($params = array()) {
        $router = Zend_Controller_Front::getInstance()->getRouter();
        $url = $router->assemble($params);

        if (!empty($_SERVER['QUERY_STRING'])) {
            $url .= $_SERVER['QUERY_STRING'];
        }
        return $url;
    }
}

но как вы видите, я думаю, что функция должна быть статической функцией? но как это попадет в эту Zend_Controller_Action_Helper вещь?

Ответы [ 2 ]

3 голосов
/ 19 августа 2010

Сделайте функцию общедоступной и в вашем BootStrap.php убедитесь, что помощник контроллера может быть автоматически загружен

// add paths to controller helpers
Zend_Controller_Action_HelperBroker::addPath( APPLICATION_PATH .'/controllers/helpers');

После этого вы сможете вызывать помощника с вашего контроллера через

$this->_helper->appendParamsToUrl->appendParamsToUrl();
1 голос
/ 20 августа 2010

Вы также можете переименовать функцию appendParamsToUrl () в direct ()

function direct( $params = array() ) {...}

В этом случае вы сможете получить к нему доступ из контроллера с помощью

$this->_helper->appendParamsToUrl( $params );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...