The hook I introduced in r94373 ('WebRequestGetPathInfoRequestURI') for extending path routing has been dropped in r104274 and replaced with some new code.
We now have a path routing class. This class is instanced inside of WebRequest, the hook WebRequestPathInfoRouter is called with it as the argument. And then it's used to parse the REQUEST_URI.
Instead of the previous verbose method an extension can now extend our REQUEST_URI parsing by adding patterns to the PathRouter in that hook like so: $router->add( "/wiki/$1" ); $router->add( array( 'edit' => "/edit/$1" ), array( 'action' => '$key' ) ); $router->add( "/$2/$1" ), array( 'variant' => '$2' ), array( '$2' => array( 'zh-hant', 'zh-hans', ... ) ) ); $router->addStrict( "/foo/Bar", array( 'title' => 'Baz' ) ); $router->add( "/help/$1", array( 'title' => 'Help:$1' ) );
Don't worry about the order that you specify patterns. This new path router parses based on how specific the pattern is, so "/wiki/$1" will always dominate "/$1", and a "/$2/$1" where $2 is restricted to 'foo' and 'bar' will always dominate a "/$2/$1" with no restrictions.
[r94373]: https://www.mediawiki.org/wiki/Special:Code/MediaWiki/94373 [r104274]: https://www.mediawiki.org/wiki/Special:Code/MediaWiki/104274
wikitech-l@lists.wikimedia.org