lithium\net\http\Router::modifiers()
Used to get or set an array of named formatter closures, which are used to format route
parameters when parsing URLs. For example, the following would match a posts/index
url
to a PostsController::indexAction()
method.
use lithium\util\Inflector;
Router::modifiers([
'controller' => function($value) {
return Inflector::camelize($value);
},
'action' => function($value) {
return Inflector::camelize($value) . 'Action';
}
]);
Note: Because modifiers are copied to Route
objects on an individual basis, make sure
you append your custom modifiers before connecting new routes.
Parameters
-
array
$modifiers
An array of named formatter closures to append to (or overwrite) the existing list.
Returns
arrayReturns the formatters array.
Source
public static function modifiers(array $modifiers = []) {
if (!static::$_modifiers) {
static::$_modifiers = [
'args' => function($value) {
return explode('/', $value);
},
'controller' => function($value) {
return Inflector::camelize($value);
}
];
}
if ($modifiers) {
static::$_modifiers = array_filter($modifiers + static::$_modifiers);
}
return static::$_modifiers;
}