diff --git a/images/php8/logo_php8_5.svg b/images/php8/logo_php8_5.svg new file mode 100644 index 0000000000..befa8d9efe --- /dev/null +++ b/images/php8/logo_php8_5.svg @@ -0,0 +1,9 @@ + diff --git a/releases/8.5/common.php b/releases/8.5/common.php new file mode 100644 index 0000000000..ef05a2a1fb --- /dev/null +++ b/releases/8.5/common.php @@ -0,0 +1,70 @@ + 'English', +]; + +function common_header(string $description): void { + global $MYSITE; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_5_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + \site_header("PHP 8.5 Release Announcement", [ + 'current' => 'php8', + 'css' => ['php8.css'], + 'meta_tags' => << + + + + + + + + + + + + +META + ]); +} + +function language_chooser(string $currentLang): void { + // Print out the form with all the options + echo ' +
+'; +} + +function message($code, $language = 'en') +{ + $original = require __DIR__ . '/languages/en.php'; + if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { + $translation = require __DIR__ . '/languages/' . $language . '.php'; + } + + return $translation[$code] ?? $original[$code] ?? $code; +} diff --git a/releases/8.5/en.php b/releases/8.5/en.php new file mode 100644 index 0000000000..7ff380e63b --- /dev/null +++ b/releases/8.5/en.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.5/$lang.php"); diff --git a/releases/8.5/languages/en.php b/releases/8.5/languages/en.php new file mode 100644 index 0000000000..07b5182efd --- /dev/null +++ b/releases/8.5/languages/en.php @@ -0,0 +1,28 @@ + 'PHP 8.5 is a major update of the PHP language. It contains many new features, such as the new URI extension, support for modifying properties while cloning, the Pipe operator, performance improvements, bug fixes, and general cleanup.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.5 is a major update of the PHP language.As an always-available part of PHP\'s standard library the new URI extension provides APIs to parse and modify URIs and URLs according to the RFC 3986 and the WHATWG URL standards.
The secure and standards-compliant URI parsing is powered by the uriparser (RFC 3986) and Lexbor (WHATWG URL) libraries.
', + 'clone_with_title' => 'Clone With', + 'clone_with_description' => 'It is now possible to update properties during object cloning by passing an associative array with the updated to theclone()
function. This enables straight-forward support of the "with-er" pattern for readonly
classes.',
+ 'no_discard_title' => '#[\NoDiscard]
Attribute',
+ 'no_discard_description' => 'By adding the #[\NoDiscard]
attribute to a function, PHP will check whether the returned value is consumed and emit a warning if it is not. This allows to improve the safety of APIs where the returned value is important, but where it is easy to forget using the return value by accident.
The associated (void)
cast can be used to indicate that a value is intentionally unused.
array_first()
and array_last()
functions',
+
+ 'new_classes_title' => 'New Classes, Interfaces, and Functions',
+
+ 'bc_title' => 'Deprecations and backward compatibility breaks',
+
+ 'footer_title' => 'Better performance, better syntax, improved type safety.',
+ 'footer_description' => 'For source downloads of PHP 8.5 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.
+The migration guide is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.
', +]; diff --git a/releases/8.5/release.inc b/releases/8.5/release.inc new file mode 100644 index 0000000000..f9bf446651 --- /dev/null +++ b/releases/8.5/release.inc @@ -0,0 +1,491 @@ + +CurlSharePersistentHandle
class, curl_multi_get_handles()
, curl_share_init_persistent()
functions are available.
+ final
#[\Override]
now works on properties#[\Deprecated]
available for traits#[\DelayedTargetValidation]
attribute is availableget_error_handler()
, get_exception_handler()
functions are available.Closure::getCurrent
method is available.Dom\Element::getElementsByClassName()
and Dom\Element::insertAdjacentHTML()
methods are available.enchant_dict_remove_from_session()
and enchant_dict_remove()
functions are available.grapheme_levenshtein()
function is available.opcache_is_script_cached_in_file_cache()
function is available.ReflectionConstant::getFileName()
, ReflectionConstant::getExtension()
, ReflectionConstant::getExtensionName()
, ReflectionConstant::getAttributes()
, and ReflectionProperty::getMangledName()
methods are available.