- Add ability to get the extension an internal class was defined in # This is the patch Andi and me used to search for underscrores...
extensions. The new hook will be run after the symbol table and destructors are run. (Derick)
zend_parse_method_parameters(). # Obviously its only place of use is in pdo just right now.
- Initial fix for foreach($o->mthd()->arr) crash (now leaks)
- Add infrastructure for built-in functions to hint whether they return by reference or not. It is NOT currently used for anything, except for interface prototypes (you can use it to request that the function that implements your prototype returns by reference or doesn't return by reference). For downwards compatibility - by default, interface prototypes are agnostic as to whether the function that implements them returns by reference or not. Use ZEND_BEGIN_ARG_INFO_EX() with ZEND_RETURN_VALUE/ZEND_RETURN_REFERENCE to change that. - Fix ArrayAccess::getOffset() to conduct additional checks. If your getOffset() should work with multidimensional arrays - it must return by reference.
…esent and its MINIT function has been called.
# Should the LICENSE and Zend/LICENSE dates be updated too?
…r DOM) # You need to completley rebuild PHP after this patch.
This is needed because one cannot use REPLACE_ZVAL_VALUE with return_value.
At the moment this function only converts strings of the form class::method to an array(class,method).
In short: zend_class_entry->interface_gets_implemented() allows to modify the class entry of a class when an interface gets implemented.
…ct(). - Explain drawbacks of object_and_properties_init and zend_merge_properties. # # I guess we can live with the purity problem of potentially calling __set() # of an object which wasn't already ctored. #
- Allow internal zval's of type string and disallow complex types. - Define the default string for extensions at class level instead of ctor.
- Unify way of function_entry generation by new macro ZEND_FENTRY
zend_call_function() now takes a structure that should contain all of the necessary information. If further information is necessary in the future, then we'll be able to add it without having to introduce a new function. As for caching - the 2nd, optional argument is a struct that can hold all of the information that's necessary to invoke the function, including its handler, scope and object it operates on (if any). Note that you may only use a cache if the arguments you provide to zend_call_function() are identical to the ones of the last call, except for the argument and return value information. The recently introduced fast_call_user_function() was removed I fixed most of the places that used fast_call_user_function() to use caching but there are still some that need to be fixed (XML and reflection)