public
|
#
__construct( string|array $patternOrConfig = NULL, string $controllerAction = NULL, array $defaults = [], array $constraints = [], array $advancedConfiguration = [] , array $method,… )
Create new localized route instance. First argument could be configuration
array with all necessary constructor values or all separated arguments -
first is route pattern value to parse into match and reverse values, then
controller with action, params default values and constraints.
Example:
new Route([
"pattern" => [
"en" => "/products-list/<name>/<color>",
"de" => "/produkt-liste/<name>/<color>"
],
"controllerAction" => "Products:List",
"defaults" => [
"en" => ["name" => "default-name", "color" => "red"],
"de" => ["name" => "standard-name","color" => "rot"],
],
"constraints" => ["name" => "[^/]+", "color" => "[a-z]+"]
]);
or:
new Route(
"/products-list/<name>/<color>",
"Products:List",
[
"en" => ["name" => "default-name", "color" => "red"],
"de" => ["name" => "standard-name","color" => "rot"],
],
["name" => "[^/]+", "color" => "[a-z]+"]
);
or:
new Route([
"name" => "products_list",
"match" => [
"en" => "#^/products\-list/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#",
"de" => "#^/produkt\-liste/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#"
],
"reverse" => [
"en" => "/products-list/<name>/<color>",
"de" => "/produkt-liste/<name>/<color>"
],
"controller" => "Products",
"action" => "List",
"defaults" => [
"en" => ["name" => "default-name", "color" => "red"],
"de" => ["name" => "standard-name","color" => "rot"],
],
]);
Create new localized route instance. First argument could be configuration
array with all necessary constructor values or all separated arguments -
first is route pattern value to parse into match and reverse values, then
controller with action, params default values and constraints.
Example:
new Route([ "pattern" => [ "en" => "/products-list/<name>/<color>", "de" => "/produkt-liste/<name>/<color>" ], "controllerAction" => "Products:List", "defaults" => [ "en" => ["name" => "default-name", "color" => "red"], "de" => ["name" => "standard-name","color" => "rot"], ], "constraints" => ["name" => "[^/]+", "color" => "[a-z]+"]
]);
or:
new Route( "/products-list/<name>/<color>", "Products:List", [ "en" => ["name" => "default-name", "color" => "red"], "de" => ["name" => "standard-name","color" => "rot"], ], ["name" => "[^/]+", "color" => "[a-z]+"]
);
or:
new Route([ "name" => "products_list", "match" => [ "en" => "#^/products\-list/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#", "de" => "#^/produkt\-liste/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#" ], "reverse" => [ "en" => "/products-list/<name>/<color>", "de" => "/produkt-liste/<name>/<color>" ], "controller" => "Products", "action" => "List", "defaults" => [ "en" => ["name" => "default-name", "color" => "red"], "de" => ["name" => "standard-name","color" => "rot"], ],
]);
Parameters
- $patternOrConfig
Required, configuration array or route pattern value to
parse into match and reverse patterns for all localizations.
- $controllerAction
Optional, controller and action name in pascal case like:
"Photogallery:List" .
- $defaults
Optional, default param values like:
["name" => "default-name", "page" => 1]
or in localized version like:
["en" => ["name" => "default-name", "page" => 1]],...
- $constraints
Optional, params regular expression constraints for regular
expression match if "match" property in configuration
array as first argument defined.
- $advancedConfiguration
$filters
Optional, callable function(s) under keys "in" | "out"
to filter in and out params accepting arguments:
array $params, array $defaultParams, \MvcCore\Request $request .
- $method,…
Optional, http method to only match requests by this method.
If NULL (by default), request with any http method could
be matched by this route. Given value is automatically
converted to upper case.
|