mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
![]() While performing resource -> object migrations, we're adding defensive classes that are final, non-serializable and non-clonable (unless they are, of course). This path adds a ZEND_ACC_NO_DYNAMIC_PROPERTIES flag, that also forbids the creation of dynamic properties on these objects. This is a subset of #3931 and targeted at internal usage only (though may be extended to userland at some point in the future). It's already possible to achieve this (what the removed WeakRef/WeakMap code does), but there's some caveats: First, this simple approach is only possible if the class has no declared properties, otherwise it's necessary to special-case those properties. Second, it's easy to make it overly strict, e.g. by forbidding isset($obj->prop) as well. And finally, it requires a lot of boilerplate code for each class. Closes GH-5572. |
||
---|---|---|
.. | ||
tests | ||
compat.c | ||
config.m4 | ||
config.w32 | ||
CREDITS | ||
expat_compat.h | ||
php_xml.h | ||
xml.c | ||
xml.stub.php | ||
xml_arginfo.h |