Skip to content
Snippets Groups Projects
Commit a08ce723 authored by Benjamin Mack's avatar Benjamin Mack Committed by Helmut Hummel
Browse files

[!!!][FEATURE] Introduce Backend Routing

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.

There are three new classes:
- Route (a single route with a path and some options)
- Router (API to match paths and generate URLs)
- UrlGenerator (Generates the URL)

This patch changes the entrypoint for
login/logout to typo3/index.php/myroute/?token=...
making index.php the only entrypoint to the
TYPO3 Backend in the future and using the PATH_INFO
functionality of the browser to store the route.

The main RequestHandler of all Backend modules
detects where a PATH_INFO is given and
then resolves to a controller/action logic and checks
for a valid token.

Once this patch is in, all non-module entrypoints
are moved to the new format.

See http://wiki.typo3.org/Blueprints/BackendRouting
for implementation details.

Resolves: #65493
Releases: master
Change-Id: I91b5812c833c558794f70fd4504f2da452b1c3ce
Reviewed-on: http://review.typo3.org/37476


Reviewed-by: default avatarNicole Cordes <typo3@cordes.co>
Tested-by: default avatarNicole Cordes <typo3@cordes.co>
Reviewed-by: default avatarHelmut Hummel <helmut.hummel@typo3.org>
Tested-by: default avatarHelmut Hummel <helmut.hummel@typo3.org>
parent 15b5115c
Showing
with 769 additions and 64 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment