[TASK] Deprecate config.tx_extbase.objects and plugin.tx_%name%.objects 88/58288/5
authorBenjamin Franzke <bfr@qbus.de>
Sun, 16 Sep 2018 05:01:31 +0000 (07:01 +0200)
committerBenni Mack <benni@typo3.org>
Mon, 17 Sep 2018 09:19:41 +0000 (11:19 +0200)
commit292e300b69d4525716ef14ab52f17fc0f1a40009
tree463d643fa1c6afc344438c6841af12eb25ab6495
parent6cb3099901e162c56f717f312b39d993b5902883
[TASK] Deprecate config.tx_extbase.objects and plugin.tx_%name%.objects

If we want to introduce a system wide container in v10,
the non deterministic behaviour of object (re)configurations
during runtime in extbase will be a problem.
Compiled containers like symfony DI do not allow runtime
reconfigurations.

Also the concept of per plugin overwrites is broken anyway,
and should therefore be dropped:
The "objects" configured through plugin.tx_%name%.objects
are are never reset, that means:
Plugin A might overwrite an object and plugin B will implictly use
that overriden class, despite not having configured that at all.
(depending on the fact whether plugin A is rendered before or not)

config.tx_extbase.object class overwrites can be replaced by XCLASSes.
If config.tx_extbase.object was/is used to conditionally overwrite
classes (through sys_template or conditions), these
occasions should be changed to XCLASSes as well. In that case the
conditional overwrite needs to be moved into the xclass itself.

Change-Id: I2ef839bcbb7f941c3afa0010767560d20e15f98b
Releases: master
Resolves: #86270
Reviewed-on: https://review.typo3.org/58288
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86270-ExtbaseXclassViaTypoScriptSettings.rst [new file with mode: 0644]
typo3/sysext/extbase/Classes/Core/Bootstrap.php
typo3/sysext/extbase/Tests/Unit/Core/BootstrapTest.php [deleted file]
typo3/sysext/extbase/Tests/UnitDeprecated/Core/BootstrapTest.php [new file with mode: 0644]
typo3/sysext/fluid/Classes/Core/Widget/Bootstrap.php
typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php