---
title: "Deprecation: #84375 - Protected methods and properties in PageLayoutController"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-84375"
source: "Changelog/9.4/Deprecation-84375-ProtectedMethodsAndPropertiesInPageLayoutController.rst"
typo3-version: "9.4"
typo3-major: 9
type: "deprecation"
issue: 84375
forge: "https://forge.typo3.org/issues/84375"
tags: ["Backend", "PHP-API", "PartiallyScanned"]
rendered: "2026-09-19T12:12:50+00:00"
---

# Deprecation: #84375 - Protected methods and properties in PageLayoutController {#deprecation-84375}

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

## Description {#description}

Some methods in the `\TYPO3\CMS\Backend\Controller\PageLayoutController`
have been marked as deprecated and will be removed in TYPO3 v10:

-   \[not scanned\] `init()`
-   \[not scanned\] `main()`
-   \[not scanned\] `menuConfig()`
-   \[not scanned\] `renderContent()`
-   \[not scanned\] `clearCache()`
-   \[not scanned\] `getModuleTemplate()`
-   `getLocalizedPageTitle()`
-   `getNumberOfHiddenElements()`
-   `local_linkThisScript()`
-   `pageIsNotLockedForEditors()`
-   `contentIsNotLockedForEditors()`

Likewise some properties have been marked as deprecated:

-   \[not scanned\] `pointer`
-   \[not scanned\] `imagemode`
-   \[not scanned\] `search_field`
-   \[not scanned\] `search_levels`
-   \[not scanned\] `showLimit`
-   \[not scanned\] `returnUrl`
-   \[not scanned\] `clear_cache`
-   `popView`
-   \[not scanned\] `perms_clause`
-   \[not scanned\] `modTSconfig`
-   `modSharedTSconfig`
-   \[not scanned\] `descrTable`
-   `colPosList`
-   `EDIT_CONTENT`
-   `CALC_PERMS`
-   `current_sys_language`
-   `MCONF`
-   `MOD_MENU`
-   \[not scanned\] `content`
-   `activeColPosList`

## Impact {#impact}

Accessing the properties or calling the methods will trigger a PHP `E_USER_DEPRECATED` error.

## Affected Installations {#affected-installations}

Third party code which accesses the properties directly or calls the methods.

## Migration {#migration}

In general, extensions should not instantiate and re-use controllers of the core. Existing
usages should be rewritten to be free of calls like these.
