php-src/ext
Nikita Popov 653e4ea1c5 Add flag to forbid dynamic property creation on internal classes
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.
2020-06-24 11:52:36 +02:00
..
bcmath Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
bz2 Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
calendar Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
com_dotnet Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
ctype Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
curl Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
date Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
dba Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
dom Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
enchant Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
exif Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
ffi Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
fileinfo Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
filter Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
ftp Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
gd Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
gettext Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
gmp Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
hash Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
iconv Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
imap Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
intl Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
json Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
ldap Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
libxml Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
mbstring Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
mysqli Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
mysqlnd Add helper APIs for maybe-interned string creation 2020-06-08 15:31:52 +02:00
oci8 Made sure zpp is always called and refactored some existing zpp calls. 2020-06-16 10:45:14 +02:00
odbc Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
opcache Fix verify arg jit for references 2020-06-24 10:47:37 +02:00
openssl Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
pcntl Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
pcre Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
pdo Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
pdo_dblib Fix [-Wundef] warning in PDO DBLib extension 2020-05-20 16:29:52 +02:00
pdo_firebird Fix [-Wundef] warning in PDO Firebird extension 2020-05-20 16:29:52 +02:00
pdo_mysql Fix [-Wundef] warning in PDO MySQL extension 2020-05-20 16:29:52 +02:00
pdo_oci Fix [-Wundef] warning in PDO OCI extension 2020-05-20 16:29:53 +02:00
pdo_odbc Fix MSVC level 1 (severe) warnings 2020-06-05 11:17:05 +02:00
pdo_pgsql Clean up calls to extension_loaded('json') in tests 2020-05-28 15:07:47 -04:00
pdo_sqlite Merge branch 'PHP-7.4' 2020-06-03 10:17:27 +02:00
pgsql PGSQL and POD_SQL: don't include pg_config.h 2020-05-25 10:48:35 +02:00
phar Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
posix Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
pspell Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
readline Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
reflection Merge branch 'PHP-7.4' 2020-06-24 11:19:17 +02:00
session Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
shmop Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
simplexml Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
skeleton Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
snmp Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
soap Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
sockets Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
sodium Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
spl Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
sqlite3 Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
standard Merge branch 'PHP-7.4' 2020-06-24 11:44:47 +02:00
sysvmsg Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
sysvsem Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
sysvshm Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
tidy Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
tokenizer Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
xml Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
xmlreader Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
xmlwriter Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
xsl Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
zend_test Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
zip Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
zlib Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
ext_skel.php Repair ext_skel.php to create the basic framework for a PHP extension 2020-03-23 09:25:06 +01:00