From 48232f979dfa14e9447a46eef76bb8f87060c383 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Thu, 28 Aug 2025 11:12:23 +0200 Subject: [PATCH] Revert "Revert AbstractWebApplication magic getter removal (#142)" This reverts commit 8d85cedd21abb3141f247d250aaac97a91242042. --- docs/v3-to-v4-update.md | 12 ++++++++++ src/AbstractWebApplication.php | 40 ---------------------------------- 2 files changed, 12 insertions(+), 40 deletions(-) diff --git a/docs/v3-to-v4-update.md b/docs/v3-to-v4-update.md index 8d57c873..2f2b2539 100644 --- a/docs/v3-to-v4-update.md +++ b/docs/v3-to-v4-update.md @@ -6,6 +6,18 @@ The following changes were made to the Application package between v3 and v4. All Framework packages now require PHP 8.3 or newer. +### Access to input data + +Accessing the input data in the input attribute of the application can now only be done via the `getInput()`. + +```php +// Old +$app->input->getInt(); + +// New +$app->getInput()->getInt(); +``` + ### Status on redirect When calling `$app->redirect()`, you can not hand over a boolean value for the status, but always have to use an integer representing the HTTP status code. diff --git a/src/AbstractWebApplication.php b/src/AbstractWebApplication.php index 8c2c908c..a4eeedcd 100644 --- a/src/AbstractWebApplication.php +++ b/src/AbstractWebApplication.php @@ -213,46 +213,6 @@ public function __construct( $this->loadSystemUris(); } - /** - * Magic method to access properties of the application. - * - * @param string $name The name of the property. - * - * @return Input|null A value if the property name is valid, null otherwise. - * - * @since 2.0.0 - * @deprecated 3.0 This is a B/C proxy for deprecated read accesses - */ - public function __get($name) - { - switch ($name) { - case 'input': - \trigger_deprecation( - 'joomla/application', - '2.0.0', - 'Accessing the input property of %s is deprecated, use the %s::getInput() method instead.', - self::class, - self::class - ); - - return $this->getInput(); - - default: - $trace = \debug_backtrace(); - \trigger_error( - \sprintf( - 'Undefined property via __get(): %1$s in %2$s on line %3$s', - $name, - $trace[0]['file'], - $trace[0]['line'] - ), - E_USER_NOTICE - ); - - return null; - } - } - /** * Execute the application. *