Controller/Router/Rewrite.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 [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Controller
- Subpackage
- Router
- Version
- $Id: Rewrite.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Controller_Router_Rewrite
Ruby routing based Router.
- Parent(s)
- \Zend_Controller_Router_Abstract
- See
- \global\http://manuals.rubyonrails.com/read/chapter/65
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties


string $_chainNameSeparator = '-'
Separator to use with chain names
'-'
Details- Type
- string


\Zend_Controller_Router_Route_Interface $_currentRoute = null
Currently matched route
null
Details


\Zend_Controller_Front $_frontController =
Front controller instance
Inherited from: \Zend_Controller_Router_Abstract::$$_frontController- Type
- \Zend_Controller_Front
- Inherited_from
- \Zend_Controller_Router_Abstract::$$_frontController


array $_globalParams = array()
Global parameters given to all routes
array()
Details- Type
- array


array $_invokeParams = array()
Array of invocation parameters to use when instantiating action controllers
Inherited from: \Zend_Controller_Router_Abstract::$$_invokeParamsarray()
Details- Type
- array
- Inherited_from
- \Zend_Controller_Router_Abstract::$$_invokeParams


boolean $_useCurrentParamsAsGlobal = false
Determines if request parameters should be used as global parameters inside this router.
false
Details- Type
- boolean
Methods


_addChainRoutesFromConfig(string $name, \Zend_Controller_Router_Route_Interface $route, \Zend_Config $childRoutesInfo) : void
Add chain routes from a config route
Name | Type | Description |
---|---|---|
$name | string | |
$route | \Zend_Controller_Router_Route_Interface | |
$childRoutesInfo | \Zend_Config |


_getRouteFromConfig(\Zend_Config $info) : \Zend_Controller_Router_Route_Interface
Get a route frm a config instance
Name | Type | Description |
---|---|---|
$info | \Zend_Config |
Type | Description |
---|---|
\Zend_Controller_Router_Route_Interface |


addConfig(\Zend_Config $config, string $section = null) : \Zend_Controller_Router_Rewrite
Create routes out of Zend_Config configuration
Example INI: routes.archive.route = "archive/:year/*" routes.archive.defaults.controller = archive routes.archive.defaults.action = show routes.archive.defaults.year = 2000 routes.archive.reqs.year = "\d+"
routes.news.type = "Zend_Controller_Router_Route_Static" routes.news.route = "news" routes.news.defaults.controller = "news" routes.news.defaults.action = "list"
And finally after you have created a Zend_Config with above ini: $router = new Zend_Controller_Router_Rewrite(); $router->addConfig($config, 'routes');
Name | Type | Description |
---|---|---|
$config | \Zend_Config | Configuration object |
$section | string | Name of the config section containing route's definitions |
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |
Exception | Description |
---|---|
\Zend_Controller_Router_Exception |


addDefaultRoutes() : \Zend_Controller_Router_Rewrite
Add default routes which are used to mimic basic router behaviour
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |


addRoute(string $name, \Zend_Controller_Router_Route_Interface $route) : \Zend_Controller_Router_Rewrite
Add route to the route chain
If route contains method setRequest(), it is initialized with a request object
Name | Type | Description |
---|---|---|
$name | string | Name of the route |
$route | \Zend_Controller_Router_Route_Interface | Instance of the route |
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |


addRoutes(array $routes) : \Zend_Controller_Router_Rewrite
Add routes to the route chain
Name | Type | Description |
---|---|---|
$routes | array | Array of routes with names as keys and routes as values |
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |


assemble(array $userParams, mixed $name = null, bool $reset = false, bool $encode = true) : string
Generates a URL path that can be used in URL creation, redirection, etc.
May be passed user params to override ones from URI, Request or even defaults. If passed parameter has a value of null, it's URL variable will be reset to default.
If null is passed as a route name assemble will use the current Route or 'default' if current is not yet set.
Reset is used to signal that all parameters should be reset to it's defaults. Ignoring all URL specified values. User specified params still get precedence.
Encode tells to url encode resulting path parts.
Name | Type | Description |
---|---|---|
$userParams | array | Options passed by a user used to override parameters |
$name | mixed | The name of a Route to use |
$reset | bool | Whether to reset to the route defaults ignoring URL params |
$encode | bool | Tells to encode URL parts on output |
Type | Description |
---|---|
string | Resulting absolute URL path |
Exception | Description |
---|---|
\Zend_Controller_Router_Exception |


clearParams(null | string | array $name = null) : \Zend_Controller_Router
Clear the controller parameter stack
Inherited from: \Zend_Controller_Router_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.
Name | Type | Description |
---|---|---|
$name | null | string | array | single key or array of keys for params to clear |
Type | Description |
---|---|
\Zend_Controller_Router |


getChainNameSeparator() : string
Get the separator to use for chain names
Type | Description |
---|---|
string |


getCurrentRoute() : \Zend_Controller_Router_Route_Interface
Retrieve a currently matched route
Type | Description |
---|---|
\Zend_Controller_Router_Route_Interface | Route object |
Exception | Description |
---|---|
\Zend_Controller_Router_Exception |


getCurrentRouteName() : \Zend_Controller_Router_Route_Interface
Retrieve a name of currently matched route
Type | Description |
---|---|
\Zend_Controller_Router_Route_Interface | Route object |
Exception | Description |
---|---|
\Zend_Controller_Router_Exception |


getFrontController() : \Zend_Controller_Front
Retrieve Front Controller
Inherited from: \Zend_Controller_Router_Abstract::getFrontController()Type | Description |
---|---|
\Zend_Controller_Front |


getParam(string $name) : mixed
Retrieve a single parameter from the controller parameter stack
Inherited from: \Zend_Controller_Router_Abstract::getParam()Name | Type | Description |
---|---|---|
$name | string |
Type | Description |
---|---|
mixed |


getParams() : array
Retrieve action controller instantiation parameters
Inherited from: \Zend_Controller_Router_Abstract::getParams()Type | Description |
---|---|
array |


getRoute(string $name) : \Zend_Controller_Router_Route_Interface
Retrieve a named route
Name | Type | Description |
---|---|---|
$name | string | Name of the route |
Type | Description |
---|---|
\Zend_Controller_Router_Route_Interface | Route object |
Exception | Description |
---|---|
\Zend_Controller_Router_Exception |


getRoutes() : array
Retrieve an array of routes added to the route chain
Type | Description |
---|---|
array | All of the defined routes |


hasRoute(string $name) : boolean
Check if named route exists
Name | Type | Description |
---|---|---|
$name | string | Name of the route |
Type | Description |
---|---|
boolean |


removeDefaultRoutes() : \Zend_Controller_Router_Rewrite
Remove all standard default routes
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |


removeRoute(string $name) : \Zend_Controller_Router_Rewrite
Remove a route from the route chain
Name | Type | Description |
---|---|---|
$name | string | Name of the route |
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |
Exception | Description |
---|---|
\Zend_Controller_Router_Exception |


route( $request) : \Zend_Controller_Request_Abstract
Find a matching route to the current PATH_INFO and inject returning values to the Request object.
If no route was possible, an exception is thrown.
Name | Type | Description |
---|---|---|
$request |
Type | Description |
---|---|
\Zend_Controller_Request_Abstract | Request object |
Exception | Description |
---|---|
\Zend_Controller_Router_Exception |


setChainNameSeparator(string $separator) : \Zend_Controller_Router_Rewrite
Set the separator to use with chain names
Name | Type | Description |
---|---|---|
$separator | string | The separator to use |
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |


setFrontController(\Zend_Controller_Front $controller) : \Zend_Controller_Router_Interface
Set Front Controller
Inherited from: \Zend_Controller_Router_Abstract::setFrontController()Name | Type | Description |
---|---|---|
$controller | \Zend_Controller_Front |
Type | Description |
---|---|
\Zend_Controller_Router_Interface |


setGlobalParam(string $name, mixed $value) : \Zend_Controller_Router_Rewrite
Set a global parameter
Name | Type | Description |
---|---|---|
$name | string | |
$value | mixed |
Type | Description |
---|---|
\Zend_Controller_Router_Rewrite |


setParam(string $name, mixed $value) : \Zend_Controller_Router
Add or modify a parameter to use when instantiating an action controller
Inherited from: \Zend_Controller_Router_Abstract::setParam()Name | Type | Description |
---|---|---|
$name | string | |
$value | mixed |
Type | Description |
---|---|
\Zend_Controller_Router |


setParams(array $params) : \Zend_Controller_Router
Set parameters to pass to action controller constructors
Inherited from: \Zend_Controller_Router_Abstract::setParams()Name | Type | Description |
---|---|---|
$params | array |
Type | Description |
---|---|
\Zend_Controller_Router |


useRequestParametersAsGlobal(boolean | null $use = null) : boolean | \Zend_Controller_Router_Rewrite
Determines/returns whether to use the request parameters as global parameters.
Name | Type | Description |
---|---|---|
$use | boolean | null | Null/unset when you want to retrieve the current state. True when request parameters should be global, false otherwise |
Type | Description |
---|---|
boolean | \Zend_Controller_Router_Rewrite | Returns a boolean if first param isn't set, returns an instance of Zend_Controller_Router_Rewrite otherwise. |