2010-08-19 41 views
0

我需要关于如何实现这个动作帮手的建议。目前,我有类似的东西Zend框架:需要关于如何实现控制器帮手的建议

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 thingy?

回答

1

你可以从你控制器调用帮手还要重命名appendParamsToUrl()函数以指导()

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

在这种情况下,您将l能够从控制器访问它

$this->_helper->appendParamsToUrl($params); 
3

使函数公众和你的bootstrap.php中确保控制器助手能够自动载入

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

然后,您应该能够通过

$this->_helper->appendParamsToUrl->appendParamsToUrl();