CodeIgniter icon indicating copy to clipboard operation
CodeIgniter copied to clipboard

PHP 8.3: Deprecation Warning for Dynamic Property Creation in Class

Open Richin opened this issue 1 year ago • 3 comments

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

Richin avatar Sep 14 '24 15:09 Richin

This PR is linked with the issue #6299

Richin avatar Sep 17 '24 03:09 Richin

@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 avatar Sep 17 '24 11:09 pocketarc

@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.

Richin avatar Sep 17 '24 14:09 Richin