summaryrefslogtreecommitdiff
path: root/UPGRADING.INTERNALS
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2018-10-13 15:30:27 +0200
committerNikita Popov <nikita.ppv@gmail.com>2018-10-16 20:53:59 +0200
commit1cfbb21790ff6dd4931223c5bdc18a0cebf3ffd4 (patch)
tree9fc9117f49dc0ad1dd6cd22d04d6068dcbf90902 /UPGRADING.INTERNALS
parentfc0aa264c1bbe7304619e73940484b39ed39af2c (diff)
downloadphp-git-1cfbb21790ff6dd4931223c5bdc18a0cebf3ffd4.tar.gz
Classify object handlers are required/optional
Diffstat (limited to 'UPGRADING.INTERNALS')
-rw-r--r--UPGRADING.INTERNALS23
1 files changed, 23 insertions, 0 deletions
diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS
index 505b3686aa..132a2d97a7 100644
--- a/UPGRADING.INTERNALS
+++ b/UPGRADING.INTERNALS
@@ -7,6 +7,7 @@ PHP 7.4 INTERNALS UPGRADE NOTES
d. Removed zend_check_private()
e. php_win32_error_to_msg() memory management
f. get_properties_for() handler / Z_OBJDEBUG_P
+ g. Required object handlers
2. Build system changes
a. Abstract
@@ -98,6 +99,28 @@ PHP 7.4 INTERNALS UPGRADE NOTES
// ...
zend_release_properties(ht);
+ g. The following object handlers are now required (must be non-NULL):
+
+ * free_obj
+ * dtor_obj
+ * read_property
+ * write_property
+ * read_dimension
+ * write_dimension
+ * get_property_ptr_ptr
+ * has_property
+ * unset_property
+ * has_dimension
+ * unset_dimension
+ * get_properties
+ * get_method
+ * get_constructor
+ * get_class_name
+ * get_gc
+
+ It is recommended to initialize object handler structures by copying the
+ std object handlers and only overwriting those you want to change.
+
========================
2. Build system changes
========================