---
title: "Deprecation: #91012 - Various hooks related to TypoScriptFrontendController"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-91012"
source: "Changelog/10.4/Deprecation-91012-VariousHooksRelatedToTypoScriptFrontendController.rst"
typo3-version: "10.4"
typo3-major: 10
type: "deprecation"
issue: 91012
forge: "https://forge.typo3.org/issues/91012"
tags: ["PHP-API", "FullyScanned", "ext:frontend"]
rendered: "2026-10-02T08:01:25+00:00"
---

# Deprecation: #91012 - Various hooks related to TypoScriptFrontendController {#deprecation-91012}

See [forge#91012](https://forge.typo3.org/issues/91012)

## Description {#description}

The following hooks related to class `TypoScriptFrontendController`
and frontend-rendering have been marked as deprecated:

-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['pageIndexing']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['isOutputting']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['tslib_fe-contentStrReplace']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-output']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['hook_eofe']`

The following methods have been marked as deprecated as well, as they only
contain code relevant for executing the hooks:

-   `TypoScriptFrontendController->isOutputting()`
-   `TypoScriptFrontendController->processContentForOutput()`

## Impact {#impact}

If third-party extensions are using the hooks, a PHP `E_USER_DEPRECATED` error will be triggered when the hook is executed.

Calling the two methods above will also trigger a PHP `E_USER_DEPRECATED` error.

## Affected Installations {#affected-installations}

TYPO3 installations with custom extensions using the hooks or mentioned above, which is common if they haven't been using
PSR-15 middlewares or other hooks instead.

## Migration {#migration}

The hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['pageIndexing']`
should be replaced by the `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-cached']` hook
to index pages. However, please note that `$TSFE->content` might contain UTF-8 content now,
instead of content already converted to the defined character set related to `metaCharset` TypoScript property.

Since TYPO3 v9, the emitter of HTTP responses is based on PSR-7, the hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['isOutputting']` can be removed, as
TYPO3 can be configured via PSR-15 middlewares to define whether
page content should be emitted / rendered or not.

The hook to dynamically replace content via `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['tslib_fe-contentStrReplace']`
is removed as it serves no purpose for TYPO3 Core anymore. If content should be dynamically modified, use a PSR-15 middleware instead.

The hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-output']` is not needed as this can be built via a PSR-15 middleware instead, and
all content is returned via the RequestHandler of TYPO3 Frontend.

Extensions using hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['hook_eofe']` should
be converted to PSR-15 middlewares, as this allows to modify content and headers of a PSR-7 Response object.

The method `TypoScriptFrontendController->isOutputting()` is obsolete and can be removed in third-party code.

The same applies to `TypoScriptFrontendController->processContentForOutput()` which should only be used to trigger
legacy hooks still applied in the system.
