2018-07-31 13:54:03 +00:00
|
|
|
PHP 7.4 INTERNALS UPGRADE NOTES
|
2010-08-30 10:26:31 +00:00
|
|
|
|
|
|
|
1. Internal API changes
|
2018-08-02 12:08:30 +00:00
|
|
|
a. php_sys_symlink() and php_sys_link()
|
2018-08-22 14:07:31 +00:00
|
|
|
b. zend_lookup_class_ex() and zend_fetch_class_by_name()
|
2018-09-11 14:21:17 +00:00
|
|
|
c. Function/property/class flags
|
2018-09-13 10:47:06 +00:00
|
|
|
d. Removed zend_check_private()
|
2010-09-17 08:42:12 +00:00
|
|
|
|
2010-11-18 10:43:01 +00:00
|
|
|
2. Build system changes
|
|
|
|
a. Unix build system changes
|
|
|
|
b. Windows build system changes
|
|
|
|
|
2015-07-03 09:46:30 +00:00
|
|
|
3. Module changes
|
2018-09-16 09:07:40 +00:00
|
|
|
a. ext/xml
|
2010-11-18 10:43:01 +00:00
|
|
|
|
2010-08-30 10:26:31 +00:00
|
|
|
========================
|
|
|
|
1. Internal API changes
|
|
|
|
========================
|
|
|
|
|
2018-08-02 12:08:30 +00:00
|
|
|
a. php_sys_symlink() and php_sys_link() portability macros have been
|
|
|
|
added, which behave like POSIX's symlink() and link(), respectively, on
|
|
|
|
POSIX compliant systems and on Windows.
|
|
|
|
|
2018-08-22 14:07:31 +00:00
|
|
|
b. zend_lookup_class_ex() and zend_fetch_class_by_name() prototypes were
|
|
|
|
changed to accept optional lower-case class name as zend_string*,
|
|
|
|
instead of zval*.
|
|
|
|
|
2018-09-11 14:21:17 +00:00
|
|
|
c. Function/property/class flags changes
|
2018-09-05 15:14:03 +00:00
|
|
|
- ZEND_ACC_CTOR and ZEND_ACC_DTOR are removed. It's possible to check if
|
|
|
|
method is a constructor/destructor using the following condition
|
2018-09-05 10:16:10 +00:00
|
|
|
(func->commpon.scope->constructor == func).
|
|
|
|
- ZEND_ACC_IMPLEMENTED_ABSTRACT is removed (it was used only internally
|
|
|
|
during inheritance).
|
2018-09-11 09:26:26 +00:00
|
|
|
- ZEND_ACC_IMPLICIT_PUBLIC is removed (it was used only for reflection)
|
2018-09-11 08:56:45 +00:00
|
|
|
- ZEND_ACC_SHADOW property flag is removed. Instead of creating shadow
|
|
|
|
clone, now we use the same private property_info, and should also
|
|
|
|
check property_info->ce (in the same way as with methods).
|
2018-09-18 08:41:40 +00:00
|
|
|
- ZEND_ACC_ANON_BOUND is replaced with ZEND_ACC_LINKED. This flag is set
|
|
|
|
not only during anonymous classes declaration, but also during any
|
|
|
|
run-time or compile-time class declaration.
|
2018-09-11 14:21:17 +00:00
|
|
|
- ZEND_ACC_... flags are re-numbered.
|
2018-09-05 10:16:10 +00:00
|
|
|
|
2018-09-13 10:47:06 +00:00
|
|
|
d. zend_check_private() is removed. Use (func->common.scope == scope) instead.
|
|
|
|
|
2018-09-21 14:27:51 +00:00
|
|
|
e. Pointers returned by php_win32_error_to_msg() have to be freed using
|
|
|
|
php_win32_error_msg_free(). Same regarding php_win_err() vs.
|
|
|
|
php_win_err_free().
|
|
|
|
|
2010-11-18 10:43:01 +00:00
|
|
|
========================
|
|
|
|
2. Build system changes
|
|
|
|
========================
|
|
|
|
|
2014-11-10 13:25:14 +00:00
|
|
|
a. Unix build system changes
|
2018-08-25 18:52:28 +00:00
|
|
|
- configure --help now also outputs --program-suffix and --program-prefix
|
|
|
|
information by using the Autoconf AC_ARG_PROGRAM macro.
|
2018-09-01 01:56:52 +00:00
|
|
|
- Obsolescent macros AC_FUNC_VPRINTF and AC_FUNC_UTIME_NULL have been
|
|
|
|
removed. Symbols HAVE_VPRINTF and HAVE_UTIME_NULL are no longer defined
|
|
|
|
since they are not needed on the current systems.
|
2014-11-10 13:25:14 +00:00
|
|
|
|
|
|
|
b. Windows build system changes
|
|
|
|
|
2015-01-25 21:14:40 +00:00
|
|
|
========================
|
|
|
|
3. Module changes
|
|
|
|
========================
|
2018-09-16 09:07:40 +00:00
|
|
|
|
|
|
|
a. ext/xml
|
|
|
|
- The public (internal) API of the ext/xml extension has been removed. All
|
|
|
|
functions and structures are private to the extension now.
|