[TASK] Implicitly add backend routes to router using DI factories
All Routes.php information for Backend routes are now collected via Dependency Injection. That means Bootstrap::initializeBackendRouter() doesn't need to be called explicitly from a middleware anymore. The Router class will always have the routes populated whenever it is initialized / needed. We use DI factories to collect and add the backend routes. The routes from the extension configuration files are still cached, but the cache is managed by a service provider. We adapt the ServiceProviderCompilationPass to keep track of the return type of extended services where the extension may not have a return type declaration (because of the dynamic closures in PseudoServiceProvider). We do that to properly notify symfony DI that the routes are stored as ArrayObject. Change-Id: Ie589825408bf9e51782800a1b8370f57d81d5178 Releases: master Resolves: #90247 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62531 Tested-by: Benni Mack <be...
Showing
- typo3/sysext/backend/Classes/Middleware/BackendRouteInitialization.php 6 additions, 3 deletions...backend/Classes/Middleware/BackendRouteInitialization.php
- typo3/sysext/backend/Classes/ServiceProvider.php 38 additions, 0 deletionstypo3/sysext/backend/Classes/ServiceProvider.php
- typo3/sysext/core/Classes/Console/CommandApplication.php 0 additions, 1 deletiontypo3/sysext/core/Classes/Console/CommandApplication.php
- typo3/sysext/core/Classes/Core/Bootstrap.php 3 additions, 47 deletionstypo3/sysext/core/Classes/Core/Bootstrap.php
- typo3/sysext/core/Classes/DependencyInjection/ServiceProviderCompilationPass.php 10 additions, 5 deletions...es/DependencyInjection/ServiceProviderCompilationPass.php
- typo3/sysext/core/Classes/Package/AbstractServiceProvider.php 33 additions, 0 deletions...3/sysext/core/Classes/Package/AbstractServiceProvider.php
- typo3/sysext/frontend/Classes/Middleware/BackendUserAuthenticator.php 0 additions, 1 deletion.../frontend/Classes/Middleware/BackendUserAuthenticator.php
Please register or sign in to comment