Action helpers extend
Zend_Controller_Action_Helper_Abstract, an abstract
class that provides the basic interface and functionality required
by the helper broker. These include the following methods:
setActionController()is used to set the current action controller.
init(), triggered by the helper broker at instantiation, can be used to trigger initialization in the helper; this can be useful for resetting state when multiple controllers use the same helper in chained actions.
preDispatch(), is triggered prior to a dispatched action.
postDispatch()is triggered when a dispatched action is done -- even if a
preDispatch()plugin has skipped the action. Mainly useful for cleanup.
getRequest()retrieves the current request object.
getResponse()retrieves the current response object.
getName()retrieves the helper name. It retrieves the portion of the class name following the last underscore character, or the full class name otherwise. As an example, if the class is named
Zend_Controller_Action_Helper_Redirector, it will return Redirector; a class named FooMessage will simply return itself.
You may optionally include a
direct() method in your
helper class. If defined, it allows you to treat the helper as a
method of the helper broker, in order to allow easy, one-off usage
of the helper. As an example, the redirector
direct() as an alias of
goto(), allowing use of the helper like this:
// Redirect to /blog/view/item/id/42
$this->_helper->redirector('item', 'view', 'blog', array('id' => 42));
Internally, the helper broker's
__call() method looks
for a helper named redirector, then checks to see if
that helper has a defined
direct() method, and calls it
with the arguments provided.
Once you have created your own helper class, you may provide access to it as described in the sections above.