diff --git a/typo3/sysext/core/Documentation/Changelog/master/Important-91079-VariousTypoScriptFrontendRendererFunctionalityIsNowInternal.rst b/typo3/sysext/core/Documentation/Changelog/master/Important-91079-VariousTypoScriptFrontendRendererFunctionalityIsNowInternal.rst new file mode 100644 index 0000000000000000000000000000000000000000..c0681bfcc9d7ad65a5897476c6a710eef1c9468e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/master/Important-91079-VariousTypoScriptFrontendRendererFunctionalityIsNowInternal.rst @@ -0,0 +1,47 @@ +.. include:: ../../Includes.txt + +==================================================================================== +Important: #91079 - Various TypoScriptFrontendRenderer functionality is now internal +==================================================================================== + +See :issue:`91079` + +Description +=========== + +TypoScriptFrontendController has methods and properties which +are marked as "@internal" in TYPO3 v10. + +They are still used in TYPO3 v10 from within TYPO3 Core, but +extension authors should use the actual APIs directly. + +The properties + +* :php:`TypoScriptFrontendController->sPre` +* :php:`TypoScriptFrontendController->pSetup` +* :php:`TypoScriptFrontendController->all` + +are related to unpacking TypoScript details related +to a page object in TypoScript and to its caching part, +this is now officially marked as internal - if needed, +TemplateService should be queried directly. These properties +will likely be removed in future TYPO3 versions, in order to +decouple TypoScript Parsing from the global `TSFE` object. + +The properties + +* :php:`TypoScriptFrontendController->additionalJavaScript` +* :php:`TypoScriptFrontendController->additionalCSS` +* :php:`TypoScriptFrontendController->JSCode` +* :php:`TypoScriptFrontendController->inlineJS` + +and the method :php:`TypoScriptFrontendController->setJS()` are +marked as internal. The AssetCollector API and the PageRenderer +can be used instead, and TYPO3 Core will move towards these +APIs completely internally. + +The property :php:`TypoScriptFrontendController->indexedDocTitle` +is now marked as internal as the PageTitle API is in place since +TYPO3 v9 LTS. + +.. index:: Frontend, ext:frontend \ No newline at end of file diff --git a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php index fa5862ef914dc77de835d9830dc32a601ae43831..a063b2cd6c91e978314a562115fa123006e9f133 100644 --- a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php +++ b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php @@ -308,12 +308,14 @@ class TypoScriptFrontendController implements LoggerAwareInterface * the template. If $this->all is empty it's because the template-data is not * cached, which it must be. * @var array + * @internal */ public $all = []; /** * Toplevel - objArrayName, eg 'page' * @var string + * @internal should only be used by TYPO3 Core */ public $sPre = ''; @@ -321,6 +323,7 @@ class TypoScriptFrontendController implements LoggerAwareInterface * TypoScript configuration of the page-object pointed to by sPre. * $this->tmpl->setup[$this->sPre.'.'] * @var array|string + * @internal should only be used by TYPO3 Core */ public $pSetup = ''; @@ -390,6 +393,7 @@ class TypoScriptFrontendController implements LoggerAwareInterface * additionalHeaderData. Reserved keys at 'openPic' and 'mouseOver' * * @var array + * @internal only used by TYPO3 Core, use AssetCollector or PageRenderer to add JavaScript */ public $additionalJavaScript = []; @@ -397,16 +401,19 @@ class TypoScriptFrontendController implements LoggerAwareInterface * Used to accumulate additional Style code. Works like additionalHeaderData. * * @var array + * @internal only used by TYPO3 Core, use AssetCollector or PageRenderer to add CSS */ public $additionalCSS = []; /** * @var string + * @internal only used by TYPO3 Core, use AssetCollector or PageRenderer to add inline JavaScript */ public $JSCode; /** * @var string + * @internal only used by TYPO3 Core, use AssetCollector or PageRenderer to add inline JavaScript */ public $inlineJS; @@ -583,6 +590,7 @@ class TypoScriptFrontendController implements LoggerAwareInterface * This value will be used as the title for the page in the indexer (if * indexing happens) * @var string + * @internal only used by TYPO3 Core, use PageTitle API instead. */ public $indexedDocTitle = ''; @@ -3499,6 +3507,7 @@ class TypoScriptFrontendController implements LoggerAwareInterface * @param string $key is the key in the array, for num-key let the value be empty. Note reserved key: 'openPic' * @param string $content is the content if you want any * @see ContentObjectRenderer::imageLinkWrap() + * @internal only used by TYPO3 Core, use PageRenderer or AssetCollector API instead. */ public function setJS($key, $content = '') {