wiki:rfc/new-url-routing
This application is not used any more and exists only for history. Post new tickets on the Github account.
Cette application n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Version 1 (modified by laurentj, 3 years ago) (diff)

--

New Url Routing

Goal

Simplify the way we do URL mapping. So, only one "URL engine". No more "url engine" plugins.

Why

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.

How

Proposition:

  • 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.