[RFC] Deprecate dynamic properties
| From: | Nikita Popov | Date: | Wed, 25 Aug 2021 10:02:49 +0000 |
| Subject: | [RFC] Deprecate dynamic properties | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-115800@lists.php.net to get a copy of this message | ||
Hi internals,
I'd like to propose the deprecation of "dynamic properties", that is
properties that have not been declared in the class (stdClass and
__get/__set excluded, of course):
https://wiki.php.net/rfc/deprecate_dynamic_properties
This has been discussed in various forms in the past, e.g. in
https://wiki.php.net/rfc/locked-classes as a
class modifier and
https://wiki.php.net/rfc/namespace_scoped_declares
/
https://github.com/nikic/php-rfcs/blob/language-evolution/rfcs/0000-language-evolution.md
as a declare directive.
This RFC takes the more direct route of deprecating this functionality
entirely. I expect that this will have relatively little impact on modern
code (e.g. in Symfony I could fix the vast majority of deprecation warnings
with a three-line diff), but may have a big impact on legacy code that
doesn't declare properties at all.
Regards,
Nikita