[TASK] Introduce unified RequestHandling for all requests 09/37409/5
authorBenjamin Mack <benni@typo3.org>
Sun, 1 Mar 2015 13:47:15 +0000 (14:47 +0100)
committerHelmut Hummel <helmut.hummel@typo3.org>
Sun, 1 Mar 2015 21:05:20 +0000 (22:05 +0100)
commitb306a170b593c38bd6456cf2d4376d8f5c4a2884
tree73d3fe2364516c4b3c879231fa262eaad2c411d3
parent5d3cb5f96896f30314a8e59113851335b1dd7fc4
[TASK] Introduce unified RequestHandling for all requests

The TYPO3 Bootstrap gets a new function run() to unify
existing entrypoints in FE, BE, CLI and Install Tool.

This way the "visible" part of the bootstrap is reduced
to solely using the new "run()" method, which resolves
to a proper RequestHandler depending on the following
constraints.

* Install Tool
* Frontend: eID
* Frontend: TSFE
* Backend: Regular request
* Backend: AJAX
* Command-Line (CLIkeys)

The interface behaves exactly like TYPO3 Flow.

Unlike Flow, the request handlers are currently hardcoded
inside the bootstrap, but can be extended later.

Each RequestHandler logic is currently put from the global
scope into the main "handleRequest()" method.

Further changes are the deprecation of init.php and
the streamlining of Backend requests, as well as diagram
of the bootstrap process.

Resolves: #65437
Releases: master
Change-Id: I3a2ffe60e59005955c5ef3d3c541b61de2b97526
Reviewed-on: http://review.typo3.org/37409
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
16 files changed:
index.php
typo3/ajax.php
typo3/cli_dispatch.phpsh
typo3/init.php
typo3/sysext/backend/Classes/AjaxRequestHandler.php [new file with mode: 0644]
typo3/sysext/backend/Classes/CliRequestHandler.php [new file with mode: 0644]
typo3/sysext/backend/Classes/RequestHandler.php [new file with mode: 0644]
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Classes/Core/CliBootstrap.php
typo3/sysext/core/Classes/Core/RequestHandlerInterface.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/EidRequestHandler.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/FrontendRequestHandler.php [deleted file]
typo3/sysext/frontend/Classes/RequestHandler.php [new file with mode: 0644]
typo3/sysext/install/Classes/RequestHandler.php [new file with mode: 0644]
typo3/sysext/install/Resources/Private/PHP/Boot.php [deleted file]
typo3/sysext/install/Start/Install.php