PHP 8.3: Deprecation Warning for Dynamic Property Creation in Class
I encountered a deprecation warning in my PHP application. The warning message is as follows:
Severity: 8192
Message: Creation of dynamic property CI_Loader::$input is deprecated
Filename: core/Loader.php
Line Number: 1011
This PR is linked with the issue #6299
@Richin Just letting you know that this is also addressed in #6173.
I quite like this PR because it explicitly marks CI properties, but unless I'm missing something, by not using #[\AllowDynamicProperties], this will still trigger deprecation warnings as soon as you try to load your own custom models (which are all dynamic properties).
@pocketarc Thank you for the heads-up on #6173. I appreciate your feedback on this PR, and I agree that explicitly marking CI properties is a good approach.
However, you make an important point about deprecation warnings for custom models with dynamic properties. You are correct that without using #[\AllowDynamicProperties], we may still encounter issues when loading custom models that use dynamic properties.
Do you have any suggestions for balancing explicit property marking with support for custom dynamic models? I am interested in discussing solutions that could work for core CI properties and user-defined custom models.