diff --git a/typo3/sysext/core/Classes/Core/Bootstrap.php b/typo3/sysext/core/Classes/Core/Bootstrap.php index 9137ce7e5d779ca27bb1b52d3580fb3b3516c5ec..cbdc7c3edcca1d67fc4c5b58ebd51d098d2f9052 100644 --- a/typo3/sysext/core/Classes/Core/Bootstrap.php +++ b/typo3/sysext/core/Classes/Core/Bootstrap.php @@ -48,28 +48,6 @@ use TYPO3\PharStreamWrapper\PharStreamWrapper; */ class Bootstrap { - /** - * @var \TYPO3\CMS\Core\Core\Bootstrap - */ - protected static $instance; - - /** - * @var array List of early instances - */ - protected $earlyInstances = []; - - /** - * @var bool - */ - protected $limbo = false; - - /** - * Disable direct creation of this object. - */ - protected function __construct() - { - } - /** * Bootstrap TYPO3 and return a Container that may be used * to initialize an Application class. @@ -123,15 +101,6 @@ class Bootstrap $locales = Locales::initialize(); static::setMemoryLimit(); - // Create (to be deprecated) bootstrap instance with (to be deprecated) early instances - static::$instance = new static(); - static::$instance->earlyInstances = [ - ClassLoader::class => $classLoader, - ConfigurationManager::class => $configurationManager, - CacheManager::class => $cacheManager, - PackageManager::class => $packageManager, - ]; - if (!$failsafe) { IconRegistry::setCache($assetsCache); PageRenderer::setCache($assetsCache); @@ -230,85 +199,15 @@ class Bootstrap }; } - /** - * @return bool - * @deprecated will be removed in TYPO3 v10.0. Use the Environment API instead. - */ - public static function usesComposerClassLoading() - { - trigger_error('Bootstrap::usesComposerClassLoading() will be removed in TYPO3 v10.0. Use Environment::isComposerMode() instead.', E_USER_DEPRECATED); - return Environment::isComposerMode(); - } - - /** - * Disable direct cloning of this object. - */ - protected function __clone() - { - } - - /** - * Return 'this' as singleton - * - * @return Bootstrap - * @internal This is not a public API method, do not use in own extensions - * @deprecated will be removed in TYPO3 v10.0. Use methods directly or create an instance, depending on your use-case. - */ - public static function getInstance() - { - if (static::$instance === null) { - self::$instance = new static(); - self::$instance->defineTypo3RequestTypes(); - $requestId = substr(md5(uniqid('', true)), 0, 13); - GeneralUtility::setSingletonInstance(LogManager::class, new LogManager($requestId)); - } - return static::$instance; - } - - /** - * @return ApplicationContext - * @internal This is not a public API method, do not use in own extensions - * @deprecated will be removed in TYPO3 v10.0. - */ - public static function createApplicationContext(): ApplicationContext - { - $applicationContext = getenv('TYPO3_CONTEXT') ?: (getenv('REDIRECT_TYPO3_CONTEXT') ?: 'Production'); - - return new ApplicationContext($applicationContext); - } - /** * Prevent any unwanted output that may corrupt AJAX/compression. * This does not interfere with "die()" or "echo"+"exit()" messages! * - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function startOutputBuffering() { ob_start(); - return static::$instance; - } - - /** - * Main entry point called at every request usually from Global scope. Checks if everything is correct, - * and loads the Configuration. - * - * Make sure that the baseSetup() is called before and the class loader is present - * - * @return Bootstrap - * @deprecated will be removed in TYPO3 v10.0. Use init() method instead. - */ - public function configure() - { - $this->startOutputBuffering() - ->loadConfigurationAndInitialize(true, \TYPO3\CMS\Core\Package\PackageManager::class, true) - ->loadTypo3LoadedExtAndExtLocalconf(true) - ->setFinalCachingFrameworkCacheConfiguration() - ->unsetReservedGlobalVariables() - ->loadBaseTca() - ->checkEncryptionKey(); - return $this; } /** @@ -318,7 +217,6 @@ class Bootstrap * Script execution will be aborted if something fails here. * * @param int $entryPointLevel Number of subdirectories where the entry script is located under the document root. - * @return Bootstrap * @throws \RuntimeException when TYPO3_REQUESTTYPE was not set before, setRequestType() needs to be called before * @internal This is not a public API method, do not use in own extensions */ @@ -327,21 +225,15 @@ class Bootstrap if (!defined('TYPO3_REQUESTTYPE')) { throw new \RuntimeException('No Request Type was set, TYPO3 does not know in which context it is run.', 1450561838); } - // @deprecated: remove this code block in TYPO3 v10.0 - if (GeneralUtility::getApplicationContext() === null) { - SystemEnvironmentBuilder::run($entryPointLevel ?? 0, PHP_SAPI === 'cli' ? SystemEnvironmentBuilder::REQUESTTYPE_CLI : SystemEnvironmentBuilder::REQUESTTYPE_FE); - } if (!Environment::isComposerMode() && ClassLoadingInformation::isClassLoadingInformationAvailable()) { ClassLoadingInformation::registerClassLoadingInformation(); } - return static::$instance; } /** * Sets the class loader to the bootstrap * * @param ClassLoader $classLoader an instance of the class loader - * @return Bootstrap * @internal This is not a public API method, do not use in own extensions */ public static function initializeClassLoader(ClassLoader $classLoader) @@ -373,8 +265,6 @@ class Bootstrap // Annotations that control the extension scanner AnnotationReader::addGlobalIgnoredName('extensionScannerIgnoreFile'); AnnotationReader::addGlobalIgnoredName('extensionScannerIgnoreLine'); - - return static::$instance; } /** @@ -385,102 +275,12 @@ class Bootstrap * @return bool TRUE when the essential configuration is available, otherwise FALSE * @internal This is not a public API method, do not use in own extensions */ - protected static function checkIfEssentialConfigurationExists(ConfigurationManager $configurationManager = null): bool + protected static function checkIfEssentialConfigurationExists(ConfigurationManager $configurationManager): bool { - if ($configurationManager === null) { - // @deprecated A configurationManager instance needs to be handed into Bootstrap::checkIfEssentialConfigurationExists and will become mandatory in TYPO3 v10.0 - $configurationManager = new ConfigurationManager; - static::$instance->setEarlyInstance(ConfigurationManager::class, $configurationManager); - } return file_exists($configurationManager->getLocalConfigurationFileLocation()) && file_exists(Environment::getLegacyConfigPath() . '/PackageStates.php'); } - /** - * Registers the instance of the specified object for an early boot stage. - * On finalizing the Object Manager initialization, all those instances will - * be transferred to the Object Manager's registry. - * - * @param string $objectName Object name, as later used by the Object Manager - * @param object $instance The instance to register - * @internal This is not a public API method, do not use in own extensions - * @deprecated since TYPO3 9.4, will be removed in TYPO3 v10.0 as this concept of early instances is not needed anymore - */ - public function setEarlyInstance($objectName, $instance) - { - $this->earlyInstances[$objectName] = $instance; - } - - /** - * Returns an instance which was registered earlier through setEarlyInstance() - * - * @param string $objectName Object name of the registered instance - * @return object - * @throws \TYPO3\CMS\Core\Exception - * @internal This is not a public API method, do not use in own extensions - * @deprecated since TYPO3 9.4, will be removed in TYPO3 v10.0 as this concept of early instances is not needed anymore - */ - public function getEarlyInstance($objectName) - { - if (!isset($this->earlyInstances[$objectName])) { - throw new \TYPO3\CMS\Core\Exception('Unknown early instance "' . $objectName . '"', 1365167380); - } - return $this->earlyInstances[$objectName]; - } - - /** - * Returns all registered early instances indexed by object name - * - * @return array - * @internal This is not a public API method, do not use in own extensions - * @deprecated since TYPO3 9.4, will be removed in TYPO3 v10.0 as this concept of early instances is not needed anymore - */ - public function getEarlyInstances() - { - trigger_error('Bootstrap->getEarlyInstances() will be removed in TYPO3 v10.0. Use a simple singleton instance instead.', E_USER_DEPRECATED); - return $this->earlyInstances; - } - - /** - * Includes LocalConfiguration.php and sets several - * global settings depending on configuration. - * For functional and acceptance tests. - * - * @param bool $allowCaching Whether to allow caching - affects cache_core (autoloader) - * @param string $packageManagerClassName Define an alternative package manager implementation (usually for the installer) - * @param bool $isInternalCall Set to true by bootstrap, not by extensions - * @return Bootstrap|null - * @internal This is not a public API method, do not use in own extensions - * @deprecated will be set to removed in TYPO3 v10.0. - */ - public static function loadConfigurationAndInitialize( - $allowCaching = true, - $packageManagerClassName = \TYPO3\CMS\Core\Package\PackageManager::class, - $isInternalCall = false - ) { - if (!$isInternalCall) { - // Suppress duplicate deprecation calls - trigger_error('Bootstrap::loadConfigurationAndInitialize() will removed in TYPO3 v10.0.', E_USER_DEPRECATED); - } - - $configurationManager = static::createConfigurationManager(); - static::populateLocalConfiguration($configurationManager); - static::initializeErrorHandling(); - - $cacheManager = static::createCacheManager(!$allowCaching); - $packageManager = static::createPackageManager($packageManagerClassName, $cacheManager->getCache('cache_core')); - - GeneralUtility::setSingletonInstance(CacheManager::class, $cacheManager); - GeneralUtility::setSingletonInstance(PackageManager::class, $packageManager); - ExtensionManagementUtility::setPackageManager($packageManager); - - static::initializeRuntimeActivatedPackagesFromConfiguration($packageManager); - static::setDefaultTimezone(); - Locales::initialize(); - static::setMemoryLimit(); - return static::$instance; - } - /** * Initializes the package system and loads the package configuration and settings * provided by the packages. @@ -501,29 +301,6 @@ class Bootstrap return $packageManager; } - /** - * Initializes the package system and loads the package configuration and settings - * provided by the packages. - * - * @param string $packageManagerClassName Define an alternative package manager implementation (usually for the installer) - * @return Bootstrap - * @internal This is not a public API method, do not use in own extensions - * @deprecated since TYPO3 v9.4, will be removed in TYPO3 v10.0. Use createPackageManager instead. - */ - public function initializePackageManagement($packageManagerClassName) - { - trigger_error('Bootstrap->initializePackageManagement() will be removed in TYPO3 v10.0. Use createPackageManager() instead.', E_USER_DEPRECATED); - $packageManager = static::createPackageManager( - $packageManagerClassName, - GeneralUtility::makeInstance(CacheManager::class)->getCache('cache_core') - ); - GeneralUtility::setSingletonInstance(PackageManager::class, $packageManager); - ExtensionManagementUtility::setPackageManager($packageManager); - $this->setEarlyInstance(PackageManager::class, $packageManager); - - return $this; - } - /** * Activates a package during runtime. This is used in AdditionalConfiguration.php * to enable extensions under conditions. @@ -545,7 +322,6 @@ class Bootstrap * * @param bool $allowCaching * @param FrontendInterface $coreCache - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function loadTypo3LoadedExtAndExtLocalconf($allowCaching = true, FrontendInterface $coreCache = null) @@ -554,7 +330,6 @@ class Bootstrap $coreCache = $coreCache ?? GeneralUtility::makeInstance(CacheManager::class)->getCache('cache_core'); } ExtensionManagementUtility::loadExtLocalconf($allowCaching, $coreCache); - return static::$instance; } /** @@ -573,35 +348,11 @@ class Bootstrap * Since makeInstance relies on the object configuration, we create it here with new instead. * * @param ConfigurationManager $configurationManager - * @return Bootstrap * @internal This is not a public API method, do not use in own extensions */ - protected static function populateLocalConfiguration(ConfigurationManager $configurationManager = null) + protected static function populateLocalConfiguration(ConfigurationManager $configurationManager) { - if ($configurationManager === null) { - $configurationManager = new ConfigurationManager(); - static::$instance->setEarlyInstance(ConfigurationManager::class, $configurationManager); - } - $configurationManager->exportConfiguration(); - - return static::$instance; - } - - /** - * Set cache_core to null backend, effectively disabling eg. the cache for ext_localconf and PackageManager etc. - * Used in unit tests. - * - * @return Bootstrap|null - * @internal This is not a public API method, do not use in own extensions - * @deprecated as this workaround is not needed anymore. Will be removed in TYPO3 v10.0. - */ - public static function disableCoreCache() - { - $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['cache_core']['backend'] - = \TYPO3\CMS\Core\Cache\Backend\NullBackend::class; - unset($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['cache_core']['options']); - return static::$instance; } /** @@ -619,23 +370,6 @@ class Bootstrap return $cacheManager; } - /** - * Initialize caching framework, and re-initializes it (e.g. in the install tool) by recreating the instances - * again despite the Singleton instance - * - * @param bool $allowCaching - * @return Bootstrap - * @internal This is not a public API method, do not use in own extensions - * @deprecated as this workaround is not needed anymore. Will be removed in TYPO3 v10.0. - */ - public function initializeCachingFramework(bool $allowCaching = true) - { - $cacheManager = static::createCacheManager(!$allowCaching); - GeneralUtility::setSingletonInstance(CacheManager::class, $cacheManager); - $this->setEarlyInstance(CacheManager::class, $cacheManager); - return $this; - } - /** * Set default timezone */ @@ -739,51 +473,11 @@ class Bootstrap } } - /** - * Define TYPO3_REQUESTTYPE* constants that can be used for developers to see if any context has been hit - * also see setRequestType(). Is done at the very beginning so these parameters are always available. - * - * Note: The definition of TYPO3_REQUEST_TYPE_* constants has been moved to the SystemEnvironmentBuilder - * and is included here for backwards compatibility reasons (as Bootstrap::getInstance() is expected - * to implicitly define these constants). - * - * @deprecated with TYPO3 v9.4, will be removed in TYPO3 v10.0, once Bootstrap::getInstance is removed - */ - protected function defineTypo3RequestTypes() - { - if (defined('TYPO3_REQUESTTYPE_FE')) { - return; - } - define('TYPO3_REQUESTTYPE_FE', 1); - define('TYPO3_REQUESTTYPE_BE', 2); - define('TYPO3_REQUESTTYPE_CLI', 4); - define('TYPO3_REQUESTTYPE_AJAX', 8); - define('TYPO3_REQUESTTYPE_INSTALL', 16); - } - - /** - * Defines the TYPO3_REQUESTTYPE constant so the environment knows which context the request is running. - * - * @param int $requestType - * @throws \RuntimeException if the method was already called during a request - * @return Bootstrap - * @deprecated with TYPO3 v9.4, will be removed in TYPO3 v10.0, use SystemEnvironmentBuilder instead. - */ - public function setRequestType($requestType) - { - if (defined('TYPO3_REQUESTTYPE')) { - throw new \RuntimeException('TYPO3_REQUESTTYPE has already been set, cannot be called multiple times', 1450561878); - } - define('TYPO3_REQUESTTYPE', $requestType); - return $this; - } - /** * Extensions may register new caches, so we set the * global cache array to the manager again at this point * * @param CacheManager $cacheManager - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ protected static function setFinalCachingFrameworkCacheConfiguration(CacheManager $cacheManager = null) @@ -792,14 +486,12 @@ class Bootstrap $cacheManager = GeneralUtility::makeInstance(CacheManager::class); } $cacheManager->setCacheConfigurations($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']); - return static::$instance; } /** * Unsetting reserved global variables: * Those are set in "ext:core/ext_tables.php" file: * - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function unsetReservedGlobalVariables() @@ -813,7 +505,6 @@ class Bootstrap unset($GLOBALS['TBE_MODULES_EXT']); unset($GLOBALS['TCA_DESCR']); unset($GLOBALS['LOCAL_LANG']); - return static::$instance; } /** @@ -823,7 +514,6 @@ class Bootstrap * * @param bool $allowCaching True, if loading TCA from cache is allowed * @param FrontendInterface $coreCache - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function loadBaseTca(bool $allowCaching = true, FrontendInterface $coreCache = null) @@ -832,7 +522,6 @@ class Bootstrap $coreCache = $coreCache ?? GeneralUtility::makeInstance(CacheManager::class)->getCache('cache_core'); } ExtensionManagementUtility::loadBaseTca($allowCaching, $coreCache); - return static::$instance; } /** @@ -855,14 +544,12 @@ class Bootstrap * or the according cache file if exists. * * @param bool $allowCaching True, if reading compiled ext_tables file from cache is allowed - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function loadExtTables(bool $allowCaching = true) { ExtensionManagementUtility::loadExtTables($allowCaching); static::runExtTablesPostProcessingHooks(); - return static::$instance; } /** @@ -889,7 +576,6 @@ class Bootstrap * Initialize the Routing for the TYPO3 Backend * Loads all routes registered inside all packages and stores them inside the Router * - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function initializeBackendRouter() @@ -940,14 +626,12 @@ class Bootstrap $route = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Routing\Route::class, $path, $options); $router->addRoute($name, $route); } - return static::$instance; } /** * Initialize backend user object in globals * * @param string $className usually \TYPO3\CMS\Core\Authentication\BackendUserAuthentication::class but can be used for CLI - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function initializeBackendUser($className = \TYPO3\CMS\Core\Authentication\BackendUserAuthentication::class) @@ -958,7 +642,6 @@ class Bootstrap // might trigger code which relies on it. See: #45625 $GLOBALS['BE_USER'] = $backendUser; $backendUser->start(); - return static::$instance; } /** @@ -966,18 +649,15 @@ class Bootstrap * * @internal This is not a public API method, do not use in own extensions * @param bool $proceedIfNoUserIsLoggedIn if set to TRUE, no forced redirect to the login page will be done - * @return Bootstrap|null */ public static function initializeBackendAuthentication($proceedIfNoUserIsLoggedIn = false) { $GLOBALS['BE_USER']->backendCheckLogin($proceedIfNoUserIsLoggedIn); - return static::$instance; } /** * Initialize language object * - * @return Bootstrap|null * @internal This is not a public API method, do not use in own extensions */ public static function initializeLanguageObject() @@ -985,41 +665,5 @@ class Bootstrap /** @var $GLOBALS['LANG'] \TYPO3\CMS\Core\Localization\LanguageService */ $GLOBALS['LANG'] = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Localization\LanguageService::class); $GLOBALS['LANG']->init($GLOBALS['BE_USER']->uc['lang']); - return static::$instance; - } - - /** - * Backwards compatibility for usages of now protected methods - * - * @param $methodName - * @param array $arguments - * @throws \Error - * @deprecated Will be removed in TYPO3 v10.0 - * @return mixed - */ - public static function __callStatic($methodName, array $arguments) - { - switch ($methodName) { - case 'checkIfEssentialConfigurationExists': - case 'setFinalCachingFrameworkCacheConfiguration': - case 'populateLocalConfiguration': - return call_user_func_array([self::class, $methodName], $arguments); - default: - throw new \Error(sprintf('Call to undefined method "%s"', $methodName), 1534156090); - } - } - - /** - * Backwards compatibility for usages of now protected methods - * - * @param string $methodName - * @param array $arguments - * @throws \Error - * @deprecated Will be removed in TYPO3 v10.0 - * @return mixed - */ - public function __call($methodName, array $arguments) - { - return self::__callStatic($methodName, $arguments); } } diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst index 13a52d4271ae8df70d4e6bc6e9e2cc754d8ac8cb..efe6a268ff4777351fcaa7c400a6291e3ffe005c 100644 --- a/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst +++ b/typo3/sysext/core/Documentation/Changelog/master/Breaking-87193-DeprecatedFunctionalityRemoved.rst @@ -57,6 +57,23 @@ The following PHP class methods that have been previously deprecated for v9 have * :php:`TYPO3\CMS\Core\Charset\CharsetConverter->parse_charset()` * :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_char2byte_pos()` * :php:`TYPO3\CMS\Core\Charset\CharsetConverter->utf8_to_entities()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->__construct()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->configure()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->createApplicationContext()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->checkIfEssentialConfigurationExists()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->defineTypo3RequestTypes()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->disableCoreCaches()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->getEarlyInstance()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->getEarlyInstances()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->getInstance()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->initializeCachingFramework()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->initializePackageManagement()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->loadConfigurationAndInitialize()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->populateLocalConfiguration()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->setEarlyInstance()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->setFinalCachingFrameworkCacheConfiguration()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->setRequestType()` +* :php:`TYPO3\CMS\Core\Core\Bootstrap->usesComposerClassLoading()` * :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\Argon2iPasswordHash->getOptions()` * :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\Argon2iPasswordHash->setOptions()` * :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\BcryptPasswordHash->getOptions()` @@ -117,8 +134,10 @@ The following PHP static class methods that have been previously deprecated for The following methods changed signature according to previous deprecations in v9 at the end of the argument list: -* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->conv()` - Fourth argument dropped * :php:`TYPO3\CMS\Backend\Utility\BackendUtility::getPagesTSconfig()` - Second and third argument dropped +* :php:`TYPO3\CMS\Core\Charset\CharsetConverter->conv()` - Fourth argument dropped +* :php:`TYPO3\CMS\Core\Core\Bootstrap->checkIfEssentialConfigurationExists()` - First argument mandatory +* :php:`TYPO3\CMS\Core\Core\Bootstrap->populateLocalConfiguration()` - First argument mandatory * :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\BlowfishPasswordHash->getHashedPassword()` - Second argument dropped * :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\Md5PasswordHash->getHashedPassword()` - Second argument dropped * :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\Pbkdf2PasswordHash->getHashedPassword()` - Second argument dropped diff --git a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php index 79f252f173fa10772e8ae3389b9093137370f341..5252423eb275a190b587dde88802e9fa3f4821a6 100644 --- a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php +++ b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php @@ -3107,6 +3107,7 @@ return [ 'maximumNumberOfArguments' => 0, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap->setEarlyInstance' => [ @@ -3114,6 +3115,7 @@ return [ 'maximumNumberOfArguments' => 2, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap->getEarlyInstance' => [ @@ -3121,6 +3123,7 @@ return [ 'maximumNumberOfArguments' => 1, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap->getEarlyInstances' => [ @@ -3128,6 +3131,7 @@ return [ 'maximumNumberOfArguments' => 0, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap->initializePackageManagement' => [ @@ -3135,6 +3139,7 @@ return [ 'maximumNumberOfArguments' => 1, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap->setRequestType' => [ @@ -3142,6 +3147,7 @@ return [ 'maximumNumberOfArguments' => 1, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->initFEuser' => [ diff --git a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallStaticMatcher.php b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallStaticMatcher.php index 1ad4c31b617ce0108ac34f1bf0d942cee04f1d9b..2c4ad2ccee2aaf4b06affec0b83ddfceae4fffea 100644 --- a/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallStaticMatcher.php +++ b/typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallStaticMatcher.php @@ -681,6 +681,7 @@ return [ 'maximumNumberOfArguments' => 0, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap::getInstance' => [ @@ -688,6 +689,7 @@ return [ 'maximumNumberOfArguments' => 0, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap::checkIfEssentialConfigurationExists' => [ @@ -695,6 +697,7 @@ return [ 'maximumNumberOfArguments' => 1, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap::loadConfigurationAndInitialize' => [ @@ -702,6 +705,7 @@ return [ 'maximumNumberOfArguments' => 3, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap::populateLocalConfiguration' => [ @@ -709,6 +713,7 @@ return [ 'maximumNumberOfArguments' => 1, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap::disableCoreCache' => [ @@ -716,6 +721,7 @@ return [ 'maximumNumberOfArguments' => 0, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap::initializeCachingFramework' => [ @@ -723,6 +729,7 @@ return [ 'maximumNumberOfArguments' => 1, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Core\Core\Bootstrap::setFinalCachingFrameworkCacheConfiguration' => [ @@ -730,6 +737,7 @@ return [ 'maximumNumberOfArguments' => 1, 'restFiles' => [ 'Deprecation-85821-BootstrapMethods.rst', + 'Breaking-87193-DeprecatedFunctionalityRemoved.rst', ], ], 'TYPO3\CMS\Frontend\Page\PageGenerator::renderContent' => [