Epic #83968

PSR-11 Initiative

Added by Benjamin Franzke over 2 years ago. Updated 7 months ago.

Should have
Target version:
Start date:
Due date:
% Done:


Sprint Focus:


TYPO3 should support PSR-11 to manage class dependencies and to avoid global state.

A long term goal should be to avoid both GeneralUtility::makeInstance to retrieve singletons and static methods like ::getInstance().


Task #83951: Decouple Bootstrap and Application initializationClosed

Task #83952: Make stateless Bootstrap methods staticClosed

Task #83953: Inject the PackageManager into the DependencyResolverClosed

Task #83954: Do not use Bootstrap->getInstance()::populateLocalConfigurationClosed

Task #83961: Remove unused bootstrap dependency from frontend RequestHandlerClosed

Task #83966: Consolidate singleton usageClosed

Task #84082: A LogRecord should not rely on global state (requestId from Bootstrap)Closed

Task #84083: ApplicationContext should consistently be retrieved from GeneralUtilityClosed

Task #84099: Decouple SystemEnvironmentBuilder from BootstrapClosed

Task #84107: Stop monkey patching CacheManager configuration in InstallToolClosed

Task #84109: Merge the package DependencyResolver into the PackageManagerClosed

Task #84112: Add support for service providersClosed

Task #84117: Do not reinitialize CacheManager and PackageManager in clearAllCacheClosed

Task #86261: PackageManager caching is over complicatedClosed

Task #86270: Deprecate config.tx_extbase.objects and plugin.tx_%name%.objectsClosed

Task #86353: Deprecate CacheManager usage in ext_localconf.phpClosed

Task #86404: Deprecate $GLOBALS['TYPO3_LOADED_EXT']Closed

Bug #86408: FailsafePackageManager does not sort packages when PackageStates.php file is missingClosed

Bug #87503: ErrorPageController relies on an available PackageManagerClosed

Bug #87504: Use statement for Typo3DatabaseBackend as used in Bootstrap::createCache is missingClosed

Task #87735: Do not use ObjectManager to instantiate PageTitleProviderManagerClosed

Task #87739: Mock ResourceFactory Singleton instantation in unit testsClosed

Task #87741: Mock SignalSlot\Dispatcher FileRepository Singletons in unit testsClosed

Task #87742: Use real ObjectManager stubs in unit testsClosed

Feature #88689: Support for system-wide class dependency injection, PSR-11Closed

Task #88721: Hook up ContainerInterface in backend route dispatcherClosed

Task #88793: Configure dependency injection for Core/Context classClosed

Task #88800: Use dependency injection in PSR-15 middlewaresClosed

Bug #88825: Exception during Dependency Injection Container compilation when EXT:scheduler is not availableClosedBenjamin Franzke

Feature #89139: Symfony Console Commands should be able to use dependency injectionClosedBenjamin Franzke

Bug #89207: Incorrect PSR-11 related deprecation messages being triggered by ObjectManager->get()ClosedBenjamin Franzke

Task #89280: TypoScript Template Constant Editor flushes to many caches, results in slow frontend responses due to DI rebuildClosedBenjamin Franzke

Bug #89504: Upgrade wizards fail if Extensions are to be installedClosed

Task #89766: Use ArrayObject for services instead of array for middleware servicesClosedBenjamin Franzke

Task #90247: Add backend routes to router using DI factoriesClosed


#1 Updated by Susanne Moog about 2 years ago

  • Target version deleted (9 LTS)

#2 Updated by Georg Ringer 11 months ago

  • Status changed from New to In Progress

#3 Updated by Susanne Moog 7 months ago

  • Status changed from In Progress to Closed

Closing as all current sub tickets are done. Can be reopened if necessary (but can even used when closed if it's just about the grouping).

Also available in: Atom PDF