Controller/Dispatcher/Standard.php

Show: PublicProtectedPrivateinherited
Table of Contents
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-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Controller  
Subpackage
Dispatcher  
Version
$Id$  

\Zend_Controller_Dispatcher_Standard

Package: Zend_Controller\Dispatcher
Parent(s)
\Zend_Controller_Dispatcher_Abstract
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

>VPropertyprotectedarray $_controllerDirectory = array()
Controller directory(ies)
Default valuearray()Details
Type
array
>VPropertyprotectedstring $_curDirectory
Current dispatchable directory
Details
Type
string
>VPropertyprotectedstring $_curModule
Current module (formatted)
Details
Type
string

Methods

methodpublic__construct(array $params = array()) : void

Constructor: Set current module to default value

Parameters
NameTypeDescription
$paramsarray
methodpublicaddControllerDirectory(string $path, string $module = null) : \Zend_Controller_Dispatcher_Standard

Add a single path to the controller directory stack

Parameters
NameTypeDescription
$pathstring
$modulestring
Returns
TypeDescription
\Zend_Controller_Dispatcher_Standard
methodpublicclassToFilename(string $class) : string

Convert a class name to a filename

Parameters
NameTypeDescription
$classstring
Returns
TypeDescription
string
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
NameTypeDescription
$request\Zend_Controller_Request_Abstract
$response\Zend_Controller_Response_Abstract
Throws
ExceptionDescription
\Zend_Controller_Dispatcher_Exception
methodpublicformatClassName(string $moduleName, string $className) : string

Format action class name

Parameters
NameTypeDescription
$moduleNamestring

Name of the current module

$classNamestring

Name of the action class

Returns
TypeDescription
stringFormatted class name
methodpublicformatModuleName(string $unformatted) : string

Format the module name.

Parameters
NameTypeDescription
$unformattedstring
Returns
TypeDescription
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
NameTypeDescription
$request\Zend_Controller_Request_Abstract
Returns
TypeDescription
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
NameTypeDescription
$request\Zend_Controller_Request_Abstract
Returns
TypeDescription
string | falseReturns 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
NameTypeDescription
$modulestring

Module name

Returns
TypeDescription
array | stringReturns array of all directories by default, single module directory if module argument provided
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
NameTypeDescription
$request\Zend_Controller_Request_Abstract
Returns
TypeDescription
string
methodpublicgetDispatchDirectory() : string

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

Returns
TypeDescription
string
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
NameTypeDescription
$request
Returns
TypeDescription
boolean
methodpublicisValidModule(string $module) : bool

Determine if a given module is valid

Parameters
NameTypeDescription
$modulestring
Returns
TypeDescription
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
NameTypeDescription
$classNamestring
Returns
TypeDescription
stringClass name loaded
Throws
ExceptionDescription
\Zend_Controller_Dispatcher_Exceptionif class not loaded
methodpublicremoveControllerDirectory(string $module) : bool

Remove a controller directory by module name

Parameters
NameTypeDescription
$modulestring
Returns
TypeDescription
bool
methodpublicsetControllerDirectory(array | string $directory,  $module = null) : \Zend_Controller_Dispatcher_Standard

Set controller directory

Parameters
NameTypeDescription
$directoryarray | string
$module
Returns
TypeDescription
\Zend_Controller_Dispatcher_Standard
Documentation was generated by phpDocumentor 2.2.0 .