@@ -20,6 +20,7 @@ PHP 8.0 INTERNALS UPGRADE NOTES
20
20
q. GC_COLLECTABLE flag
21
21
r. Cannot implement Traversable only
22
22
s. zend_fcall_info no_separation flag removed
23
+ t. Signature changes
23
24
24
25
2. Build system changes
25
26
a. Abstract
@@ -89,7 +90,7 @@ PHP 8.0 INTERNALS UPGRADE NOTES
89
90
j. compare_objects() handler was removed. Extensions should use compare() object
90
91
handler instead and check if both arguments are objects and have the same
91
92
compare handler, using ZEND_COMPARE_OBJECTS_FALLBACK() macro.
92
-
93
+
93
94
k. The 'I' length modifier, used to denote 32 and 64bit integer from the custom
94
95
snprintf and spprintf implementations has been removed.
95
96
Use the ZEND_LONG_FMT, ZEND_ULONG_FMT and ZEND_XLONG_FMT macros defined in
@@ -136,11 +137,22 @@ PHP 8.0 INTERNALS UPGRADE NOTES
136
137
zend_create_internal_iterator_zval(return_value, ZEND_THIS);
137
138
}
138
139
139
- s. The zend_fcall_info no_separation flag has been removed, and separation is
140
+ s. The zend_fcall_info no_separation flag has been removed, and separation is
140
141
never allowed. If you wish to pass (or allow passing) arguments by
141
142
reference, explicitly create those arguments as references using
142
143
ZEND_MAKE_REF.
143
144
145
+ t. The following ZEND_API function have changed signature:
146
+ 1. Void in Zend Engine 4.0:
147
+ - add_assoc_*()
148
+ - add_index_*()
149
+ - add_property_*()
150
+ - object_init()
151
+ - zend_declare_class_constant*()
152
+ - zend_declare_property*()
153
+ - zend_startup_modules()
154
+ - zend_wrong_parameters_none_error()
155
+
144
156
========================
145
157
2. Build system changes
146
158
========================
0 commit comments