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 = nullCurrently matched route
nullDetails

\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 = falseDetermines if request parameters should be used as global parameters inside this router.
falseDetails- Type
- boolean
Methods

_addChainRoutesFromConfig(string $name, \Zend_Controller_Router_Route_Interface $route, \Zend_Config $childRoutesInfo) : voidAdd 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_InterfaceGet 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_RewriteCreate 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_RewriteAdd 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_RewriteAdd 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_RewriteAdd 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) : stringGenerates 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_RouterClear 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() : stringGet the separator to use for chain names
| Type | Description |
|---|---|
| string |

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

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

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

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

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

getRoute(string $name) : \Zend_Controller_Router_Route_InterfaceRetrieve 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() : arrayRetrieve an array of routes added to the route chain
| Type | Description |
|---|---|
| array | All of the defined routes |

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

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

removeRoute(string $name) : \Zend_Controller_Router_RewriteRemove 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_AbstractFind 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_RewriteSet 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_InterfaceSet 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_RewriteSet a global parameter
| Name | Type | Description |
|---|---|---|
| $name | string | |
| $value | mixed |
| Type | Description |
|---|---|
| \Zend_Controller_Router_Rewrite |

setParam(string $name, mixed $value) : \Zend_Controller_RouterAdd 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_RouterSet 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_RewriteDetermines/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. |