注入控制器屬性我寫了需要設置,因此目前正被指派的控制器上的屬性插件。例如,如果我的插件是:Zend框架:如何從Zend_Controller_Plugin
class Application_Plugin_Foo extends Zend_Controller_Plugin_Abstract
{
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
{
// Get an instance of the current controller and inject the $foo property
// ???->foo = 'foo';
}
}
我希望能夠做到這一點:
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$this->view->foo = $this->foo;
}
}
}
任何幫助,不勝感激!
似乎對ZF動作控制器的*簡單的資源噴油器*鏈接的內容被複制到@ DavidW的答案,但我強烈建議你閱讀原始頁面上的整個討論。還有很多有用的評論。 – chelmertz 2010-10-02 09:24:37
在發佈此問題之前,我開始採用getParam()方法。我甚至認爲「擴展一個基本控制器」的方式,但也發現在這裏有許多不值得討論的缺陷。使用動作助手似乎是做我想做的事情的正確方式,但在閱讀了你提到的文章之後,我改變了主意,並將採用馬修所描述的「注入依賴」方式。看起來與一羣程序員一起工作最有效的方法。 – Julian 2010-10-03 18:55:49
@ Julian我同意你的觀點,但如果沒有正確記錄,可能很難找到所有這些依賴關係來自哪裏。總而言之,這似乎是一個堅實的方法! – chelmertz 2010-10-03 21:52:07