Feature #65493
closedIntroduce Backend Routing
100%
Description
A new Routing API is introduced in order to streamline
the entrypoints to the TYPO3 Backend.
All previous patches by Wouter for the dispatched modules
are the foundation for this change.
Instead of using the term "module" for anything linkable
in the backend, the term "routes" fits more. a "module"
or an ajax call is a derivative of a route, which will
build on this foundation.
Routes can be registered via
Configuration/Backend/Routes.php in any extension
and are loaded solely on Backend requests.
The Routing API is inspired by the Symfony Routing
framework and mostly compatible for now
but the TYPO3 implementation only takes around
20% of the needed logic for now.
There are four new classes
- Route (a single route with a path some options)
- RouteCollection (holding all routes)
- Router (API to match paths and generate URLs)
- UrlGenerator (Generates the URL)
The main RequestHandler of all Backend modules
detects where a GET parameter "route" is given and
then resolves to a controller/action logic and checks
for a valid token.
See http://wiki.typo3.org/Blueprints/BackendRouting
for implementation details.