API Documentation

Controller/Dispatcher/Standard.php

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.

category
Zend  
copyright
Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)  
license
New BSD License  
package
Zend_Controller  
subpackage
Dispatcher  
version
$Id: Standard.php 23775 2011-03-01 17:25:24Z ralph $  

\Zend_Controller_Dispatcher_Standard

Extends from
\Zend_Controller_Dispatcher_Abstract
category
Zend  
copyright
Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)  
license
New BSD License  
package
Zend_Controller  
subpackage
Dispatcher  

Properties

Propertyprotectedarray  $_controllerDirectory= 'array'

Controller directory(ies)

Default valuearrayDetails
Type
array
Propertyprotectedstring  $_curDirectory= ''

Current dispatchable directory

Details
Type
string
Propertyprotectedstring  $_curModule= ''

Current module (formatted)

Details
Type
string

Methods

methodpublic__construct( array $params = array ) : void

Constructor: Set current module to default value

Parameters
Name Type Description
$params array
methodprotected_formatName( string $unformatted, boolean $isAction = false ) : string

Formats a string from a URI into a PHP-friendly name.

Inherited from: \Zend_Controller_Dispatcher_Abstract::_formatName()

By default, replaces words separated by the word separator character(s) with camelCaps. If $isAction is false, it also preserves replaces words separated by the path separation character with an underscore, making the following word Title cased. All non-alphanumeric characters are removed.

Parameters
Name Type Description
$unformatted string
$isAction boolean Defaults to false
Returns
Type Description
string
methodpublic_verifyDelimiter( string|array $spec ) : array

Verify a delimiter to use in controllers or actions. May be a single string or an array of strings.

Parameters
Name Type Description
$spec string|array
Returns
Type Description
array
Throws
Exception Description
\Zend_Controller_Dispatcher_Exception with invalid delimiters
methodpublicaddControllerDirectory( string $path, string $module = null ) : \Zend_Controller_Dispatcher_Standard

Add a single path to the controller directory stack

Parameters
Name Type Description
$path string
$module string
Returns
Type Description
\Zend_Controller_Dispatcher_Standard
methodpublicclassToFilename( string $class ) : string

Convert a class name to a filename

Parameters
Name Type Description
$class string
Returns
Type Description
string
methodpublicclearParams( null|string|array $name = null ) : \Zend_Controller_Dispatcher_Abstract

Clear the controller parameter stack

Inherited from: \Zend_Controller_Dispatcher_Abstract::clearParams()

By default, clears all parameters. If a parameter name is given, clears only that parameter; if an array of parameter names is provided, clears each.

Parameters
Name Type Description
$name null|string|array single key or array of keys for params to clear
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicdispatch( \Zend_Controller_Request_Abstract $request, \Zend_Controller_Response_Abstract $response ) : void

Dispatch to a controller/action

By default, if a controller is not dispatchable, dispatch() will throw an exception. If you wish to use the default controller instead, set the param 'useDefaultControllerAlways' via {@link setParam()}.

Parameters
Name Type Description
$request \Zend_Controller_Request_Abstract
$response \Zend_Controller_Response_Abstract
Throws
Exception Description
\Zend_Controller_Dispatcher_Exception
methodpublicformatActionName( string $unformatted ) : string

Formats a string into an action name. This is used to take a raw action name, such as one that would be stored inside a Zend_Controller_Request_Abstract object, and reformat into a proper method name that would be found inside a class extending Zend_Controller_Action.

Inherited from: \Zend_Controller_Dispatcher_Abstract::formatActionName()
Parameters
Name Type Description
$unformatted string
Returns
Type Description
string
methodpublicformatClassName( string $moduleName, string $className ) : string

Format action class name

Parameters
Name Type Description
$moduleName string Name of the current module
$className string Name of the action class
Returns
Type Description
string Formatted class name
methodpublicformatControllerName( string $unformatted ) : string

Formats a string into a controller name. This is used to take a raw controller name, such as one stored inside a Zend_Controller_Request_Abstract object, and reformat it to a proper class name that a class extending Zend_Controller_Action would use.

Inherited from: \Zend_Controller_Dispatcher_Abstract::formatControllerName()
Parameters
Name Type Description
$unformatted string
Returns
Type Description
string
methodpublicformatModuleName( string $unformatted ) : string

Format the module name.

Parameters
Name Type Description
$unformatted string
Returns
Type Description
string
methodpublicgetActionMethod( \Zend_Controller_Request_Abstract $request ) : string

Determine the action name

First attempt to retrieve from request; then from request params using action key; default to default action

Returns formatted action name

Parameters
Name Type Description
$request \Zend_Controller_Request_Abstract
Returns
Type Description
string
methodpublicgetControllerClass( \Zend_Controller_Request_Abstract $request ) : string|false

Get controller class name

Try request first; if not found, try pulling from request parameter; if still not found, fallback to default

Parameters
Name Type Description
$request \Zend_Controller_Request_Abstract
Returns
Type Description
stringfalse Returns class name on success
methodpublicgetControllerDirectory( string $module = null ) : array|string

Return the currently set directories for Zend_Controller_Action class lookup

If a module is specified, returns just that directory.

Parameters
Name Type Description
$module string Module name
Returns
Type Description
arraystring Returns array of all directories by default, single module directory if module argument provided
methodpublicgetDefaultAction( ) : string

Retrieve the default action name (minus formatting)

Inherited from: \Zend_Controller_Dispatcher_Abstract::getDefaultAction()
Returns
Type Description
string
methodpublicgetDefaultControllerClass( \Zend_Controller_Request_Abstract $request ) : string

Retrieve default controller class

Determines whether the default controller to use lies within the requested module, or if the global default should be used.

By default, will only use the module default unless that controller does not exist; if this is the case, it falls back to the default controller in the default module.

Parameters
Name Type Description
$request \Zend_Controller_Request_Abstract
Returns
Type Description
string
methodpublicgetDefaultControllerName( ) : string

Retrieve the default controller name (minus formatting)

Inherited from: \Zend_Controller_Dispatcher_Abstract::getDefaultControllerName()
Returns
Type Description
string
methodpublicgetDefaultModule( ) : string

Retrieve the default module

Inherited from: \Zend_Controller_Dispatcher_Abstract::getDefaultModule()
Returns
Type Description
string
methodpublicgetDispatchDirectory( ) : string

Return the value of the currently selected dispatch directory (as set by {@link getController()})

Returns
Type Description
string
methodpublicgetFrontController( ) : \Zend_Controller_Front

Retrieve front controller instance

Inherited from: \Zend_Controller_Dispatcher_Abstract::getFrontController()
Returns
Type Description
\Zend_Controller_Front
methodpublicgetParam( string $name ) : mixed

Retrieve a single parameter from the controller parameter stack

Inherited from: \Zend_Controller_Dispatcher_Abstract::getParam()
Parameters
Name Type Description
$name string
Returns
Type Description
mixed
methodpublicgetParams( ) : array

Retrieve action controller instantiation parameters

Inherited from: \Zend_Controller_Dispatcher_Abstract::getParams()
Returns
Type Description
array
methodpublicgetPathDelimiter( ) : array

Retrieve the path delimiter character(s) used in controller names

Inherited from: \Zend_Controller_Dispatcher_Abstract::getPathDelimiter()
Returns
Type Description
array
methodpublicgetResponse( ) : \Zend_Controller_Response_Abstract|null

Return the registered response object

Inherited from: \Zend_Controller_Dispatcher_Abstract::getResponse()
Returns
Type Description
\Zend_Controller_Response_Abstractnull
methodpublicgetWordDelimiter( ) : array

Retrieve the word delimiter character(s) used in controller or action names

Inherited from: \Zend_Controller_Dispatcher_Abstract::getWordDelimiter()
Returns
Type Description
array
methodpublicisDispatchable(  $request ) : boolean

Returns TRUE if the Zend_Controller_Request_Abstract object can be dispatched to a controller.

Use this method wisely. By default, the dispatcher will fall back to the default controller (either in the module specified or the global default) if a given controller does not exist. This method returning false does not necessarily indicate the dispatcher will not still dispatch the call.

Parameters
Name Type Description
$request
Returns
Type Description
boolean
methodpublicisValidModule( string $module ) : bool

Determine if a given module is valid

Parameters
Name Type Description
$module string
Returns
Type Description
bool
methodpublicloadClass( string $className ) : string

Load a controller class

Attempts to load the controller class file from {@link getControllerDirectory()}. If the controller belongs to a module, looks for the module prefix to the controller class.

Parameters
Name Type Description
$className string
Returns
Type Description
string Class name loaded
Throws
Exception Description
\Zend_Controller_Dispatcher_Exception if class not loaded
methodpublicremoveControllerDirectory( string $module ) : bool

Remove a controller directory by module name

Parameters
Name Type Description
$module string
Returns
Type Description
bool
methodpublicsetControllerDirectory( array|string $directory,  $module = null ) : \Zend_Controller_Dispatcher_Standard

Set controller directory

Specify a string or an array; if an array is specified, all paths will be added.

Parameters
Name Type Description
$directory array|string
$module
Returns
Type Description
\Zend_Controller_Dispatcher_Standard
methodpublicsetDefaultAction( string $action ) : \Zend_Controller_Dispatcher_Abstract

Set the default action (minus any formatting)

Inherited from: \Zend_Controller_Dispatcher_Abstract::setDefaultAction()
Parameters
Name Type Description
$action string
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetDefaultControllerName( string $controller ) : \Zend_Controller_Dispatcher_Abstract

Set the default controller (minus any formatting)

Inherited from: \Zend_Controller_Dispatcher_Abstract::setDefaultControllerName()
Parameters
Name Type Description
$controller string
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetDefaultModule( string $module ) : \Zend_Controller_Dispatcher_Abstract

Set the default module

Inherited from: \Zend_Controller_Dispatcher_Abstract::setDefaultModule()
Parameters
Name Type Description
$module string
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetFrontController( \Zend_Controller_Front $controller ) : \Zend_Controller_Dispatcher_Abstract

Set front controller instance

Inherited from: \Zend_Controller_Dispatcher_Abstract::setFrontController()
Parameters
Name Type Description
$controller \Zend_Controller_Front
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetParam( string $name, mixed $value ) : \Zend_Controller_Dispatcher_Abstract

Add or modify a parameter to use when instantiating an action controller

Inherited from: \Zend_Controller_Dispatcher_Abstract::setParam()
Parameters
Name Type Description
$name string
$value mixed
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetParams( array $params ) : \Zend_Controller_Dispatcher_Abstract

Set parameters to pass to action controller constructors

Inherited from: \Zend_Controller_Dispatcher_Abstract::setParams()
Parameters
Name Type Description
$params array
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetPathDelimiter( string $spec ) : \Zend_Controller_Dispatcher_Abstract

Set the path delimiter to use in controllers. May be a single string or an array of strings.

Parameters
Name Type Description
$spec string
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetResponse( \Zend_Controller_Response_Abstract|null $response = null ) : \Zend_Controller_Dispatcher_Abstract

Set response object to pass to action controllers

Inherited from: \Zend_Controller_Dispatcher_Abstract::setResponse()
Parameters
Name Type Description
$response \Zend_Controller_Response_Abstract|null
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
methodpublicsetWordDelimiter( string|array $spec ) : \Zend_Controller_Dispatcher_Abstract

Set the word delimiter to use in controllers and actions. May be a single string or an array of strings.

Parameters
Name Type Description
$spec string|array
Returns
Type Description
\Zend_Controller_Dispatcher_Abstract
Documentation was generated by DocBlox 0.13.3.