1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Files
archived-php-src/UPGRADING.INTERNALS
Gina Peter Banyard c0214e49d2 Zend: remove zend_make_callable() function (#20269)
The name of this function is confusing, it doesn't make a zval callable just normalizes strings to an array pair if the string references a static method.
In general, to store a userland function it is encouraged to store the resolved FCC rather than the zval.

Moreover, a sourcegraph search shows no usage of this API in external open source code.
2025-10-26 18:28:40 +00:00

58 lines
2.0 KiB
Plaintext

PHP 8.6 INTERNALS UPGRADE NOTES
1. Internal API changes
2. Build system changes
3. Module changes
4. OpCode changes
5. SAPI changes
========================
1. Internal API changes
========================
. ZSTR_INIT_LITERAL(), zend_string_starts_with_literal(), and
zend_string_starts_with_literal_ci() now support strings containing NUL
bytes. Passing non-literal char* is no longer supported.
. The misnamed ZVAL_IS_NULL() has been removed. Use Z_ISNULL() instead.
. New zend_class_entry.ce_flags2 and zend_function.fn_flags2 fields were
added, given the primary flags were running out of bits.
. The zval_is_true() alias of zend_is_true() has been removed. Call
zend_is_true() directly instead.
. The _zval_get_*() compatibility macros for PHP 7.2 have been removed
call the variant without the leading underscore instead.
Affected: _zval_get_long, _zval_get_double, _zval_get_string,
_zval_get_long_func, _zval_get_double_func, _zval_get_string_func
. CHECK_ZVAL_NULL_PATH() and CHECK_NULL_PATH() have been removed, use
zend_str_has_nul_byte(Z_STR_P(...)) and zend_char_has_nul_byte()
respectively.
. ZEND_LTOA() (and ZEND_LTOA_BUF_LEN) has been removed, as it was
unsafe. Directly use ZEND_LONG_FMT with a function from the
printf family.
. The zval_dtor() alias of zval_ptr_dtor_nogc() has been removed.
Call zval_ptr_dtor_nogc() directly instead.
. The internal zend_copy_parameters_array() function is no longer exposed.
. The zend_make_callable() function has been removed, if a callable zval
needs to be obtained use the zend_get_callable_zval_from_fcc() function
instead. If this was used to store a callable, then an FCC should be
stored instead.
========================
2. Build system changes
========================
========================
3. Module changes
========================
========================
4. OpCode changes
========================
========================
5. SAPI changes
========================