Manual:Entry point routing

The class can take patterns such as /wiki/$1 and use them to parse query parameters out of REQUEST_URI paths. The hook can be used to add rules to the path router instance used by WebRequest to handle short ruls.

Usage

 * Matches /wiki/Foo style urls and extracts the title


 * Matches /edit/Foo style urls and sets action=edit


 * Matches /zh-hant/Foo or /zh-hans/Foo


 * Matches /foo/Bar explicitly and uses "Baz" as the title


 * Matches /help/Foo with "Help : Foo" as the title


 * Matches /Foo and sets 'foo' to 'bar$2' without $2 being replaced


 * Matches /Foo, adds the key 'foo' with the value 'bar' to the data array and calls functionname( &$matches, $data );

Path patterns

 * Paths may contain $# patterns such as $1, $2, etc...
 * $1 will match 0 or more while the rest will match 1 or more
 * Unless you use addStrict "/wiki" and "/wiki/" will be expanded to "/wiki/$1"

Parameters

 * In a pattern $1, $2, etc... will be replaced with the relevant contents
 * If you used a keyed array as a path pattern, $key will be replaced with the relevant contents
 * The default behavior is equivalent to  - if you don't want the title parameter you can explicitly use
 * You can specify a value that won't have replacements in it using

Options

 * The option keys $1, $2, etc... can be specified to restrict the possible values of that variable. A string can be used for a single value, or an array for multiple.
 * When the option key 'strict' is set (Using addStrict is simpler than doing this directly) the path won't have $1 implicitly added to it.
 * The option key 'callback' can specify a callback that will be run when a path is matched. The callback will have the arguments ( &$matches, $data ) and the matches array can be modified.