PHP 8.2 deprecated the creation of dynamic object properties with a removal target of PHP 9.0.
Here's the thing. Creating a dynamic object property only raises a deprecated notice, the lowest level of PHP message.These are only meant to be seen on development machines where display of all messages is turned on. If you are seeing this on a production server it means that you are doing something wrong with your site's and your PHP configuration.
Go to your site's Global Configuration and set Error Reporting to None. This prevents anything going through Joomla, as well as Joomla itself, from displaying PHP messages.
Moreover, ask your host how you can set display_errors = Off
to the PHP configuration. Some hosts have a configuration interface for PHP in their control panel, some let you specify a .user.ini in the parent folder of your web root, others have other methods. This will prevent anything running outside of Joomla from displaying PHP messages.
Also note that these deprecated messages are known to Joomla. They will be adding the #[\AllowDynamicProperties]
attribute to core objects which allow dynamic properties (the application object, the view object, ...) and eventually replace CMSObject with instances of Joomla\Registry\Registry objects.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!