[Last Updated: 4 July 2012]
We need a new route dumper/generator, as discussed in http://groups.drupal.org/node/220269
See http://groups.drupal.org/node/220269 for background. We will not repeat what is said there.
The current implementation defines a multi-stage matching system, NestedMatcher. A NestedMatcher has 3 parts:
- One InitialMatcher, which matches a Request object against whatever logic it wants.
- Zero or more PartialMatchers, which are always assigned a RouteCollection from the previous stage and return a RouteCollection.
- One FinalMatcher, which is always assigned a RouteCollection from the previous stage and returns an array of attributes to add to the Request, like any other Matcher.
Every sub-matcher is required to throw an appropriate exception if it comes up with no matching routes.
Right now we have an Initial matcher that mimics the Drupal 7 path-fit system, a Partial matcher for HTTP method, and a Final matcher for just returning the first remaining route.
Everything except the path-fit matcher will likely get moved out to either the Symfony CMF Routing component or the Symfony2 Routing component. Let's get it all sorted out here first, though.
User interface changes
None, these are all API level changes.
Still TBD, but see:
PASSED: [[SimpleTest]]: [MySQL] 42,094 pass(es).
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch 1606794-routing_8.patch. Unable to apply patch. See the log in the details link for more information.
FAILED: [[SimpleTest]]: [MySQL] Invalid PHP syntax in core/modules/system/system.install.
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch 1606794-routing_6.patch. Unable to apply patch. See the log in the details link for more information.