MediaWiki REL1_31
|
PathRouter class. More...
Public Member Functions | |
add ( $path, $params=[], $options=[]) | |
Add a new path pattern to the path router. | |
addStrict ( $path, $params=[], $options=[]) | |
Add a new path pattern to the path router with the strict option on. | |
parse ( $path) | |
Parse a path and return the query matches for the path. | |
Protected Member Functions | |
doAdd ( $path, $params, $options, $key=null) | |
Protected helper to do the actual bulk work of adding a single pattern. | |
sortByWeight () | |
Protected helper to re-sort our patterns so that the most specific (most heavily weighted) patterns are at the start of the array. | |
Static Protected Member Functions | |
static | extractTitle ( $path, $pattern) |
static | makeWeight ( $pattern) |
Private Attributes | |
array | $patterns = [] |
PathRouter class.
This class can take patterns such as /wiki/$1 and use them to parse query parameters out of REQUEST_URI paths.
$router->add( "/wiki/$1" );
Path patterns:
Params:
, if you don't want the title parameter you can explicitly use
array( 'title' => false )
You can specify a value that won't have replacements in it using
'foo' => [ 'value' => 'bar' ];`Options:
Definition at line 73 of file PathRouter.php.
PathRouter::add | ( | $path, | |
$params = [], | |||
$options = [] ) |
Add a new path pattern to the path router.
string | array | $path | The path pattern to add |
array | $params | The params for this path pattern |
array | $options | The options for this path pattern |
Definition at line 160 of file PathRouter.php.
References $options, $params, and doAdd().
Referenced by WebRequest\getPathInfo(), PathRouterTest\setUp(), PathRouterTest\testAdditionalParameter(), PathRouterTest\testCallback(), PathRouterTest\testFail(), PathRouterTest\testKeyParameter(), PathRouterTest\testLoose(), PathRouterTest\testOrder(), PathRouterTest\testPatternUrlencoding(), PathRouterTest\testRawParamValue(), and PathRouterTest\testRestrictedValue().
PathRouter::addStrict | ( | $path, | |
$params = [], | |||
$options = [] ) |
Add a new path pattern to the path router with the strict option on.
string | array | $path | |
array | $params | |
array | $options |
Definition at line 177 of file PathRouter.php.
References $options, $params, and add.
Referenced by PathRouterTest\testWeight().
|
protected |
Protected helper to do the actual bulk work of adding a single pattern.
This is in a separate method so that add() can handle the difference between a single string $path and an array() $path that contains multiple path patterns each with an associated $key to pass on.
string | $path | |
array | $params | |
array | $options | |
null | string | $key |
Definition at line 90 of file PathRouter.php.
References $options, $params, $path, makeWeight(), and object.
Referenced by add().
|
staticprotected |
string | $path | |
string | $pattern |
Definition at line 264 of file PathRouter.php.
References $matches, $value, and PathRouterPatternReplacer\replace().
Referenced by parse().
|
staticprotected |
object | $pattern |
Definition at line 198 of file PathRouter.php.
Referenced by doAdd().
PathRouter::parse | ( | $path | ) |
Parse a path and return the query matches for the path.
string | $path | The path to parse |
Definition at line 238 of file PathRouter.php.
References $matches, extractTitle(), and sortByWeight().
|
protected |
Protected helper to re-sort our patterns so that the most specific (most heavily weighted) patterns are at the start of the array.
Definition at line 186 of file PathRouter.php.
Referenced by parse().
|
private |
Definition at line 78 of file PathRouter.php.