From 87d3794a7a634f763102d8b784d95fb3932e8157 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 22 Sep 2024 15:40:17 +0300 Subject: [PATCH] Additions for PHP 8.4 page --- releases/8.4/languages/en.php | 27 ++++- releases/8.4/release.inc | 220 +++++++++++++++++++++++++++++++++- 2 files changed, 243 insertions(+), 4 deletions(-) diff --git a/releases/8.4/languages/en.php b/releases/8.4/languages/en.php index 8e8f10f725..b960c92f60 100644 --- a/releases/8.4/languages/en.php +++ b/releases/8.4/languages/en.php @@ -1,15 +1,38 @@ 'PHP 8.4 is a major update of the PHP language. It contains many new features, such as ... As always it also includes performance improvements, bug fixes, and general cleanup.', + 'common_header' => 'PHP 8.4 is a major update of the PHP language. It contains many new features, such as property hooks, asymmetric visibility, lazy objects, and additions to the randomness functionality. As always it also includes performance improvements, bug fixes, and general cleanup.', 'documentation' => 'Doc', 'main_title' => 'Released!', - 'main_subtitle' => 'PHP 8.4 is a major update of the PHP language.
It contains many new features, such as ... As always it also includes performance improvements, bug fixes, and general cleanup.', + 'main_subtitle' => 'PHP 8.4 is a major update of the PHP language.
It contains many new features, such as property hooks, asymmetric visibility, lazy objects, and additions to the randomness functionality. As always it also includes performance improvements, bug fixes, and general cleanup.', 'upgrade_now' => 'Upgrade to PHP 8.4 now!', + 'property_hooks_title' => 'Property hooks', + 'asymmetric_visibility_title' => 'Asymmetric Visibility', + 'domdocument_html5_parser_title' => 'New HTML5 support', + 'dom_additions_84_title' => 'New ext-dom features', + 'new_without_parentheses_title' => 'new MyClass()->method() without parentheses', + 'new_classes_title' => 'New Classes, Interfaces, and Functions', + 'new_bc_functions' => 'New bcfloor(), bcceil(), and bcround() functions.', + 'new_dom_methods' => 'New DOMNode::compareDocumentPosition(), DOMXPath::registerPhpFunctionNS(), and DOMXPath::quote() methods.', + 'new_intl_methods' => 'New IntlDateFormatter::getIanaID(), IntlDateFormatter::parseToCalendar(), and SpoofChecker::setAllowedChars() methods, and also intltz_get_iana_id(), grapheme_str_split() functions.', + 'new_mbstring_functions' => 'New mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), and mb_lcfirst() functions.', + 'new_pcntl_functions' => 'New pcntl_setns(), pcntl_getcpuaffinity(), pcntl_setcpuaffinity(), pcntl_getcpu(), pcntl_waitid(), and pcntl_getqos_class() functions.', + 'new_pdo_method' => 'New Pdo\Pgsql::setNoticeCallback() method.', + 'new_pgsql_functions' => 'New pg_change_password(), pg_put_copy_data(), pg_socket_poll(), pg_jit(), and pg_set_chunked_rows_size() functions.', + 'new_reflection_methods' => 'New ReflectionClass::newLazyGhost(), ReflectionClass::newLazyProxy(), ReflectionClass::resetAsLazyGhost(), ReflectionClass::resetAsLazyProxy(), ReflectionClass::isUninitializedLazyObject(), ReflectionClass::initializeLazyObject(), ReflectionClass::markLazyObjectAsInitialized(), ReflectionClass::getLazyInitializer(), ReflectionProperty::skipLazyInitialization, and ReflectionProperty::setRawValueWithoutLazyInitialization methods.', + 'new_sodium_functions' => 'New sodium_crypto_aead_aegis128l_*(), sodium_crypto_aead_aegis256l_*(), and sodium_crypto_aead_aes256gcm_*() functions.', + 'new_soap_method' => 'New SoapServer::__getLastResponse() method.', + 'new_standard_functions' => 'New http_get_last_response_headers(), http_clear_last_response_headers(), fpow(), array_find(), array_find_key(), array_all(), and array_any() functions.', + 'new_tidy_methods' => 'New tidyNode::getNextSibling() and tidyNode::getPreviousSibling() methods.', + 'new_xml_methods' => 'New XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri(), and XMLWriter::toMemory() methods.', + 'new_xsl_method' => 'New XSLTProcessor::registerPhpFunctionNS() method.', 'bc_title' => 'Deprecations and backward compatibility breaks', + 'bc_pecl' => 'The IMAP, OCI8, PDO_OCI, and pspell extensions have been unbundled and moved to PECL.', + 'bc_nullable_parameter_types' => 'Implicitly nullable parameter types are now deprecated.', + 'bc_classname' => 'Using _ as a class name is now deprecated.', 'footer_title' => 'Better performance, better syntax, improved type safety.', 'footer_description' => '

For source downloads of PHP 8.4 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

diff --git a/releases/8.4/release.inc b/releases/8.4/release.inc index d58935cf6a..6ecde47602 100644 --- a/releases/8.4/release.inc +++ b/releases/8.4/release.inc @@ -33,12 +33,226 @@ common_header(message('common_header', $lang)); +
+
+

+ + RFC +

+
+
+
PHP < 8.4
+
+ first, $this->last] = explode(' ', $value, 2); + } + + public function getFullName(): string { + return $this->first . ' ' . $this->last; + } +} +PHP + + ); ?> +
+
+
+
+
PHP 8.4
+
+ first . " " . $this->last; + } + set (string $value) { + [$this->first, $this->last] = explode(' ', $value, 2); + } + } +} +PHP + ); ?> +
+
+
+
+
+

+ + RFC +

+
+
+
PHP < 8.4
+
+ version = 'PHP 8.4'; // No error +PHP + + ); ?> +
+
+
+
+
PHP 8.4
+
+ version = 'PHP 8.3'; // Visibility error +PHP + ); ?> +
+
+
+
+
+

+ + RFC +

+
+
+
PHP < 8.4
+
+ +
+
+
+
+
PHP 8.4
+
+ +
+
+
+
+
+

+ + RFC +

+
+
+
PHP < 8.4
+
+ +
+
+
+
+
PHP 8.4
+
+ +
+
+
+
+
+

+ + RFC +

+
+
+
PHP < 8.4
+
+ currentVersion()); +PHP + + ); ?> +
+
+
+
+
PHP 8.4
+
+ currentVersion()); +PHP + ); ?> +
+
+
+
+ +
+

    - +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
@@ -47,7 +261,9 @@ common_header(message('common_header', $lang));

    - +
  • +
  • +