我需要有关如何实现此操作助手的建议。目前,我有类似
的东西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
的东西?
答案 0 :(得分:3)
使该函数公开,并在您的BootStrap.php中确保控制器助手可以自动加载
// add paths to controller helpers
Zend_Controller_Action_HelperBroker::addPath( APPLICATION_PATH .'/controllers/helpers');
然后您应该可以通过
从控制器调用帮助程序$this->_helper->appendParamsToUrl->appendParamsToUrl();
答案 1 :(得分:1)
您还可以将appendParamsToUrl()函数重命名为direct()
function direct( $params = array() ) {...}
在这种情况下,您将能够通过
从控制器访问它$this->_helper->appendParamsToUrl( $params );