Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
View script integration
Zend_Controller_Action_Helper_ViewRenderer provides transparent view integration for action controllers. It allows you to create a view object once, and populate it throughout all actions. Several global options may be set:
The helper autoinitializes the action controller view preDispatch(). It determines the path to the class file, and then determines the view base directory from there. It also uses the module name as a class prefix for helpers and views such that if your module name is 'Search', it will set the helper class prefix to 'Search_View_Helper' and the filter class prefix to ; 'Search_View_Filter'.
Usage:
// In your bootstrap:
Zend_Controller_Action_HelperBroker::addHelper(new Zend_Controller_Action_Helper_ViewRenderer());
// In your action controller methods: $viewHelper = $this->_helper->getHelper('view');
// Don't use controller subdirectories $viewHelper->setNoController(true);
// Specify a different script to render: $this->_helper->viewRenderer('form');
array $_delimiters = ''
Word delimiters
Zend_Filter_Inflector $_inflector = ''
string $_inflectorTarget = ''
Inflector target
string $_moduleDir = ''
Current module directory
boolean $_neverController = 'false'
Whether or not to autorender using controller name as subdirectory; global setting (not reset at next invocation)
boolean $_neverRender = 'false'
Whether or not to autorender postDispatch; global setting (not reset at next invocation)
boolean $_noController = 'false'
Whether or not to use a controller name as a subdirectory when rendering
boolean $_noRender = 'false'
Whether or not to autorender postDispatch; per controller/action setting (reset at next invocation)
string|array $_pathDelimiters = ''
Characters representing path delimiters in the controller
string $_responseSegment = 'null'
Which named segment of the response to utilize
string $_scriptAction = 'null'
Which action view script to render
string $_viewBasePathSpec = ':moduleDir/views'
View object basePath
string $_viewScriptPathNoControllerSpec = ':action.:suffix'
View script path specification string, minus controller segment
string $_viewScriptPathSpec = ':controller/:action.:suffix'
View script path specification string
string $_viewSuffix = 'phtml'
View script suffix
Zend_View_Interface $view = ''
__clone(
)
:
void
Clone - also make sure the view is cloned.
__construct(
Zend_View_Interface $view
=
null, array $options
=
array
)
:
void
Constructor
Optionally set view object and options.
_generateDefaultPrefix(
)
:
string
Generate a class prefix for helper and filter classes
_getBasePath(
)
:
string
Retrieve base path based on location of current action controller
_getModuleDir(
)
:
string
Get internal module directory representation
_setInflectorTarget(
string $target
)
:
void
Set inflector target
_setModuleDir(
string $dir
)
:
void
Set internal module directory representation
_setOptions(
array $options
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set options
_shouldRender(
)
:
boolean
Should the ViewRenderer render a view script?
_translateSpec(
array $vars
=
array
)
:
string
Inflect based on provided vars
Allowed variables are: - :moduleDir - current module directory - :module - current module name - :controller - current controller name - :action - current action name - :suffix - view script file suffix
direct(
string $action
=
null, string $name
=
null, boolean $noController
=
null
)
:
void
Use this helper as a method; proxies to setRender()
getInflector(
)
:
Zend_Filter_Inflector
Get inflector
getModule(
)
:
string
Get current module name
getModuleDirectory(
)
:
string
Get module directory
getNeverController(
)
:
boolean
Retrieve neverController flag value
getNeverRender(
)
:
boolean
Retrieve neverRender flag value
getNoController(
)
:
boolean
Retrieve noController flag value
getNoRender(
)
:
boolean
Retrieve noRender flag value
getResponseSegment(
)
:
string
Retrieve named response segment name
getScriptAction(
)
:
string
Retrieve view script name
getViewBasePathSpec(
)
:
string
Retrieve the current view basePath specification string
getViewScript(
string $action
=
null, array $vars
=
array
)
:
string
Get a view script based on an action and/or other variables
Uses values found in current request if no values passed in $vars.
If {@link $_noController} is set, uses {@link $_viewScriptPathNoControllerSpec}; otherwise, uses {@link $_viewScriptPathSpec}.
getViewScriptPathNoControllerSpec(
)
:
string
Retrieve the current view script path specification string (no controller variant)
getViewScriptPathSpec(
)
:
string
Retrieve the current view script path specification string
getViewSuffix(
)
:
string
Get view script suffix
init(
)
:
void
init - initialize view
initView(
string $path
=
null, string $prefix
=
null, array $options
=
array
)
:
void
Initialize the view object
$options may contain the following keys: - neverRender - flag dis/enabling postDispatch() autorender (affects all subsequent calls) - noController - flag indicating whether or not to look for view scripts in subdirectories named after the controller - noRender - flag indicating whether or not to autorender postDispatch() - responseSegment - which named response segment to render a view script to - scriptAction - what action script to render - viewBasePathSpec - specification to use for determining view base path - viewScriptPathSpec - specification to use for determining view script paths - viewScriptPathNoControllerSpec - specification to use for determining view script paths when noController flag is set - viewSuffix - what view script filename suffix to use
postDispatch(
)
:
void
postDispatch - auto render a view
Only autorenders if: - _noRender is false - action controller is present - request has not been re-dispatched (i.e., _forward() has not been called) - response is not a redirect
render(
string $action
=
null, string $name
=
null, boolean $noController
=
null
)
:
void
Render a view based on path specifications
Renders a view based on the view script path specifications.
renderBySpec(
string $action
=
null, array $vars
=
array, string $name
=
null
)
:
void
Render a script based on specification variables
Pass an action, and one or more specification variables (view script suffix) to determine the view script path, and render that script.
renderScript(
string $script, string $name
=
null
)
:
void
Render a view script (optionally to a named response segment)
Sets the noRender flag to true when called.
setInflector(
Zend_Filter_Inflector $inflector, boolean $reference
=
false
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set inflector
setNeverController(
boolean $flag
=
true
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set the neverController flag (i.e., whether or not to render into controller subdirectories)
setNeverRender(
boolean $flag
=
true
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set the neverRender flag (i.e., globally dis/enable autorendering)
setNoController(
boolean $flag
=
true
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set the noController flag (i.e., whether or not to render into controller subdirectories)
setNoRender(
boolean $flag
=
true
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set the noRender flag (i.e., whether or not to autorender)
setRender(
string $action
=
null, string $name
=
null, boolean $noController
=
null
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set options for rendering a view script
setResponseSegment(
string $name
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set the response segment name
setScriptAction(
string $name
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set the view script to use
setView(
Zend_View_Interface $view
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set the view object
setViewBasePathSpec(
string $path
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set view basePath specification
Specification can contain one or more of the following: - :moduleDir - current module directory - :controller - name of current controller in the request - :action - name of current action in the request - :module - name of current module in the request
setViewScriptPathNoControllerSpec(
string $path
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set view script path specification (no controller variant)
Specification can contain one or more of the following: - :moduleDir - current module directory - :controller - name of current controller in the request - :action - name of current action in the request - :module - name of current module in the request
:controller will likely be ignored in this variant.
setViewScriptPathSpec(
string $path
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set view script path specification
Specification can contain one or more of the following: - :moduleDir - current module directory - :controller - name of current controller in the request - :action - name of current action in the request - :module - name of current module in the request
setViewSuffix(
string $suffix
)
:
Zend_Controller_Action_Helper_ViewRenderer
Set view script suffix