|Version 1 (modified by laurentj, 16 months ago)|
New Url Routing
Simplify the way we do URL mapping. So, only one "URL engine". No more "url engine" plugins.
There are too many problem with these system of different url engine, and many problems when entrypoints don't use the same url engine.
And although the "simple" and "basic_significant" url engines are performant and aren't complex in term of code, their configurations can be tricky (too many questions in the forum).
Declaring the URL mapping should be easy.
- suppress the plugin system for URLs
- we keep the significant url engine.
- we improve the engine to allow to declare some url like we had for basic_significant (so we won't have to declare url for all methods of all controllers. ex:
<url pathinfo="/my/path/:_module/:_controller/:_method" /> <url pathinfo="/my/path2/:_controller/:_method" module="monmodule" /> <url pathinfo="/my/path3/:_method" module="monmodule" action="controller" />
So we would have reserved parameters: _module, _controller, _method.
What about current module and action parameters ? I propose to not support anymore module and action parameter readed from the URL (except for "overrided" action in urls.xml). However, we could generate module and action parameter to keep compatibility in controllers (for "old" controllers or zone or whatever) that use the module and/or action parameters. We could deprecate this behavior.