0
我明白了什么动作助手做,但我想不通的时候都初始化(会为每个实例)。如果我没有错,控制器的_helper属性包含每个助手类的实例集合。动作助手什么时候初始化?
我对不对?如果是的话,都是辅助动作(类对应于助手)在应用的引导初始化(每个HTTP请求)?
我明白了什么动作助手做,但我想不通的时候都初始化(会为每个实例)。如果我没有错,控制器的_helper属性包含每个助手类的实例集合。动作助手什么时候初始化?
我对不对?如果是的话,都是辅助动作(类对应于助手)在应用的引导初始化(每个HTTP请求)?
如果你看一下this part of the ZF manual,你会发现在动作助手是如何工作的多一点信息。
的_helper
属性确实不持有帮手实例的集合,而是保持Zend_Controller_Action_HelperBroker`的”它的实例: -
处理注册助手对象和助手路径,以及检索的细节助手按需提供。
辅助函数不是在引导实例化,但将在对需求的控制,当你在你的控制器使用类似$helper = $this->_helper->getHelper('helperName');
被实例化。
感谢您的回答,但对于一些直接帮助像,$这 - > _ helper->网址()?它是否在呼叫中实例化?还有一,如果我重写挂钩的方法,如预执行postDispatch,然后调用这些方法,我必须先注册这个帮手。所以每次我注册一个帮手,这意味着它也被忽略了? – user1495738
无论你怎么称呼一个动作助手它是由helperBroker需要的时候,而不是之前实例化。 – vascowhite