Epic #83968

PSR-11 Initiative

Added by Benjamin Franzke over 1 year ago. Updated 3 days ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
System/Bootstrap/Configuration
Target version:
-
Start date:
2018-02-17
Due date:
% Done:

97%

Sprint Focus:

Description

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().


Subtasks

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 middlewaresResolved

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

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

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

History

#1 Updated by Susanne Moog about 1 year ago

  • Target version deleted (9 LTS)

Also available in: Atom PDF