summaryrefslogtreecommitdiff
path: root/UPGRADING.INTERNALS
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-02-07 21:05:46 +0300
committerDmitry Stogov <dmitry@zend.com>2019-02-07 21:05:46 +0300
commitf45e0ce928e1d02e872d8805f4476a1ba072e8d1 (patch)
tree1d809b6432a5fc653ecd4b5cb3f53faf5e04daff /UPGRADING.INTERNALS
parent2306c855abf504579aa2d2ca732dbb8c44d17f29 (diff)
downloadphp-git-f45e0ce928e1d02e872d8805f4476a1ba072e8d1.tar.gz
Remove ZEND_OVERLOADED_FUNCTION and corresponding call_method object handler
Diffstat (limited to 'UPGRADING.INTERNALS')
-rw-r--r--UPGRADING.INTERNALS12
1 files changed, 9 insertions, 3 deletions
diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS
index 7dea050f66..9c48ad1588 100644
--- a/UPGRADING.INTERNALS
+++ b/UPGRADING.INTERNALS
@@ -2,6 +2,7 @@ PHP 8.0 INTERNALS UPGRADE NOTES
1. Internal API changes
a. Object Handlers API
+ b. ZEND_OVERLOADED_FUNCTION and corresponding call_method() object handler
2. Build system changes
a. Abstract
@@ -14,10 +15,15 @@ PHP 8.0 INTERNALS UPGRADE NOTES
1. Internal API changes
========================
- a. Object Handlers API and some related functions, e.g. zend_call_method() and
- zend_objects_clone_obj() were changed to receive zend_object* instead of
- zval* and zend_string* instead of zval* for property names.
+ a. Object Handlers API and some related functions, e.g. zend_call_method() and
+ zend_objects_clone_obj() were changed to receive zend_object* instead of
+ zval* and zend_string* instead of zval* for property names.
+ b. ZEND_OVERLOADED_FUNCTION and corresponding call_method() object handler
+ were removed. ZEND_INTERNAL_FUNCTION with ZEND_ACC_CALL_VIA_HANDLER and
+ defined "handler" callback should be used instead. This "handler" callback
+ should also take care about function cleanup. See ext/zend_test/test.c
+ for example.
========================
2. Build system changes