Router class that uses rails style expressions for matching routes.
The routes are matched against the uri property of the request object. The matching algorithm works as follows:
Source for this file: /MvcTools/src/routes/rails.php
Version: | //autogentag// |
protected string |
$action
Contains the action that the controller should execute. |
protected string |
$controllerClassName
This is the name of the controller class that will be instantiated with the request variables obtained from the route, as well as the default values belonging to a route. |
protected array(string) |
$defaultValues
The default values for the variables that are send to the controller. The route matchers can override those default values |
protected string |
$pattern
This property contains the pattern |
public ezcMvcRailsRoute |
__construct(
$pattern
, $controllerClassName
, [ $action
= null] , [ $defaultValues
= array()] )
Constructs a new ezcMvcRailsRoute with $pattern. |
public void |
generateUrl(
[ $arguments
= null] )
Generates an URL back out of a route, including possible arguments |
protected string |
getUriString(
$request
)
Returns the request information that the matches() method will match the pattern against. |
protected bool |
match(
$request
, &$matches
, $matches
)
This method performs the actual pattern match against the $request's URI. |
public null|ezcMvcRoutingInformation |
matches(
$request
)
Evaluates the URI against this route. |
public void |
prefix(
$prefix
)
Adds the $prefix to the route's pattern. |
Constructs a new ezcMvcRailsRoute with $pattern.
When the route is matched (with the match() method), the route instantiates an object of the class $controllerClassName.
Name | Type | Description |
---|---|---|
$pattern |
string | |
$controllerClassName |
string | |
$action |
string | |
$defaultValues |
array(string) |
Generates an URL back out of a route, including possible arguments
Name | Type | Description |
---|---|---|
$arguments |
array |
Method | Description |
---|---|
ezcMvcReversibleRoute::generateUrl() |
Generates an URL back out of a route, including possible arguments |
Returns the request information that the matches() method will match the pattern against.
Name | Type | Description |
---|---|---|
$request |
ezcMvcRequest |
This method performs the actual pattern match against the $request's URI.
Name | Type | Description |
---|---|---|
$request |
ezcMvcRequest | |
$matches |
array(string) | |
&$matches |
Evaluates the URI against this route.
The method first runs the match. If the pattern matches, it then creates an object containing routing information and returns it. If the route's pattern did not match it returns null.
Name | Type | Description |
---|---|---|
$request |
ezcMvcRequest |
Method | Description |
---|---|
ezcMvcRoute::matches() |
Returns routing information if the route matched, or null in case the route did not match. |
Adds the $prefix to the route's pattern.
It's up to the developer to provide a meaningfull prefix. In this case, it needs to be a pattern just like the normal pattern.
Name | Type | Description |
---|---|---|
$prefix |
mixed |
Method | Description |
---|---|
ezcMvcRoute::prefix() |
Adds a prefix to the route. |