diff --git a/images/php8/logo_php8_4.svg b/images/php8/logo_php8_4.svg new file mode 100644 index 0000000000..9ca76c1c05 --- /dev/null +++ b/images/php8/logo_php8_4.svg @@ -0,0 +1,9 @@ + diff --git a/images/php8/php_8_4_released.png b/images/php8/php_8_4_released.png new file mode 100644 index 0000000000..3dc88ee1b4 Binary files /dev/null and b/images/php8/php_8_4_released.png differ diff --git a/releases/8.4/common.php b/releases/8.4/common.php new file mode 100644 index 0000000000..3a439f2815 --- /dev/null +++ b/releases/8.4/common.php @@ -0,0 +1,74 @@ + 'English', + 'ru' => 'Russian', + 'pt_BR' => 'Português do Brasil', + 'nl' => 'Nederlands', + 'es' => 'Spanish', +]; + +function common_header(string $description): void { + global $MYSITE; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_4_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + \site_header("PHP 8.4.0 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.4/en.php b/releases/8.4/en.php new file mode 100644 index 0000000000..7ff380e63b --- /dev/null +++ b/releases/8.4/en.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.4/$lang.php"); diff --git a/releases/8.4/languages/en.php b/releases/8.4/languages/en.php new file mode 100644 index 0000000000..0db7d60915 --- /dev/null +++ b/releases/8.4/languages/en.php @@ -0,0 +1,55 @@ + 'PHP 8.4 is a major update of the PHP language. It contains many new features, such as property hooks, asymmetric visibility, an updated DOM API, 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.#[\Deprecated]
Attribute',
+ 'deprecated_attribute_description' => 'The new #[\Deprecated]
attribute makes PHP’s existing deprecation mechanism available to user-defined functions, methods, and class constants.',
+ 'dom_additions_html5_title' => 'New ext-dom features and HTML5 support',
+ 'dom_additions_html5_description' => 'New DOM API that includes standards-compliant support for parsing HTML5 documents, fixes several long-standing compliance bugs in the behavior of the DOM functionality, and adds several functions to make working with documents more convenient.
The new DOM API is available within the Dom
namespace. Documents using the new DOM API can be created using the Dom\HTMLDocument
and Dom\XMLDocument
classes.
array_*()
functions',
+ 'new_array_find_description' => 'New functions array_find()
, array_find_key()
, array_any()
, and array_all()
are available.',
+ 'pdo_driver_specific_parsers_title' => 'PDO Driver specific SQL parsers',
+ 'pdo_driver_specific_parsers_description' => 'New subclasses Pdo\Dblib
, Pdo\Firebird
, Pdo\MySql
, Pdo\Odbc
, and Pdo\Sqlite
of PDO
are available.',
+ 'new_without_parentheses_title' => 'new MyClass()->method()
without parentheses',
+ 'new_without_parentheses_description' => 'Properties and methods of a newly instantiated object can now be accessed without wrapping the new
expression in parenthesis.',
+
+ 'new_classes_title' => 'New Classes, Interfaces, and Functions',
+ 'new_jit_implementation' => 'New JIT implementation based on IR Framework',
+ 'new_core_functions' => 'New request_parse_body()
function.',
+ 'new_bcmath_functions' => 'New bcceil()
, bcdivmod()
, bcfloor()
, and bcround()
functions.',
+ 'new_round_modes' => 'New RoundingMode
enum for round()
with 4 new rounding modes TowardsZero
, AwayFromZero
, NegativeInfinity
, and PositiveInfinity
.',
+ 'new_date_functions' => 'New DateTime::createFromTimestamp()
, DateTime::getMicrosecond()
, DateTime::setMicrosecond()
, DateTimeImmutable::createFromTimestamp()
, DateTimeImmutable::getMicrosecond()
, and DateTimeImmutable::setMicrosecond()
methods.',
+ 'new_mb_functions' => 'New mb_trim()
, mb_ltrim()
, mb_rtrim()
, mb_ucfirst()
, and mb_lcfirst()
functions.',
+ 'new_pcntl_functions' => 'New pcntl_getcpu()
, pcntl_getcpuaffinity()
, pcntl_getqos_class()
, pcntl_setns()
, and pcntl_waitid()
functions.',
+ 'new_reflection_functions' => 'New ReflectionClassConstant::isDeprecated()
, ReflectionGenerator::isClosed()
, and ReflectionProperty::isDynamic()
methods.',
+ 'new_standard_functions' => 'New http_get_last_response_headers()
, http_clear_last_response_headers()
, and fpow()
functions.',
+ 'new_xml_functions' => 'New XMLReader::fromStream()
, XMLReader::fromUri()
, XMLReader::fromString()
, XMLWriter::toStream()
, XMLWriter::toUri()
, and XMLWriter::toMemory()
methods.',
+ 'new_grapheme_function' => 'New grapheme_str_split()
function.',
+
+ '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.',
+ 'bc_zero_raised_to_negative_number' => 'Raising zero to the power of a negative number is now deprecated.',
+ 'bc_gmp' => 'GMP
class is now final.',
+ 'bc_round' => 'Passing invalid mode to round()
throws ValueError
.',
+ 'bc_typed_constants' => 'Class constants from extensions date
, intl
, pdo
, reflection
, spl
, sqlite
, xmlreader
are typed now.',
+ 'bc_mysqli_constants' => 'MYSQLI_SET_CHARSET_DIR
, MYSQLI_STMT_ATTR_PREFETCH_ROWS
, MYSQLI_CURSOR_TYPE_FOR_UPDATE
, MYSQLI_CURSOR_TYPE_SCROLLABLE
, and MYSQLI_TYPE_INTERVAL
constants have been removed.',
+ 'bc_mysqli_functions' => 'mysqli_ping()
, mysqli_kill()
, mysqli_refresh()
functions, mysqli::ping()
, mysqli::kill()
, mysqli::refresh()
methods, and MYSQLI_REFRESH_*
constants have been deprecated.',
+ 'bc_standard' => 'stream_bucket_make_writeable()
and stream_bucket_new()
now return an instance of StreamBucket
instead of stdClass
.',
+ 'bc_core' => 'exit()
behavioral change.',
+ 'bc_warnings' => 'E_STRICT
constant has been 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.
+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.4/languages/es.php b/releases/8.4/languages/es.php new file mode 100644 index 0000000000..2f881a8260 --- /dev/null +++ b/releases/8.4/languages/es.php @@ -0,0 +1,55 @@ + 'PHP 8.4 es una actualización importante del lenguaje PHP. Contiene muchas características nuevas, como hooks para propiedades, visibilidad asimétrica, una API DOM actualizada, mejoras de rendimiento, correcciones de errores y limpieza general.', + 'documentation' => 'Documentación', + 'main_title' => '¡Lanzado!', + 'main_subtitle' => 'PHP 8.4 es una actualización importante del lenguaje PHP.#[\Deprecated]
',
+ 'deprecated_attribute_description' => 'El nuevo atributo #[\Deprecated]
hace que el mecanismo de obsolescencia existente de PHP esté disponible para funciones, métodos y constantes de clase definidas por el usuario.',
+ 'dom_additions_html5_title' => 'Nuevas características de ext-dom y soporte para HTML5',
+ 'dom_additions_html5_description' => 'Nueva API DOM que incluye soporte conforme a los estándares para el análisis de documentos HTML5, corrige varios errores de cumplimiento antiguos en el comportamiento de la funcionalidad DOM, y añade varias funciones para hacer más conveniente trabajar con documentos.
La nueva API DOM está disponible dentro del espacio de nombres Dom
. Los documentos que utilizan la nueva API DOM pueden ser creados utilizando las clases Dom\HTMLDocument
y Dom\XMLDocument
.',
+ 'new_array_find_title' => 'Nuevas funciones array_*()
',
+ 'new_array_find_description' => 'Nuevas funciones disponibles: array_find()
, array_find_key()
, array_any()
y array_all()
.',
+ 'pdo_driver_specific_parsers_title' => 'Procesadores SQL específicos para PDO Driver',
+ 'pdo_driver_specific_parsers_description' => 'Nuevas subclases de PDO
: Pdo\Dblib
, Pdo\Firebird
, Pdo\MySql
, Pdo\Odbc
, Pdo\Sqlite
están disponibles.',
+ 'new_without_parentheses_title' => 'new MyClass()->method()
sin paréntesis',
+ 'new_without_parentheses_description' => 'Las propiedades y métodos de un objeto recién instanciado ahora se pueden acceder sin envolver la expresión new
entre paréntesis.',
+
+ 'new_classes_title' => 'Nuevas Clases, Interfaces y Funciones',
+ 'new_jit_implementation' => 'Nueva implementación JIT basada en el marco IR.',
+ 'new_core_functions' => 'Nueva función request_parse_body()
.',
+ 'new_bcmath_functions' => 'Nuevas funciones: bcceil()
, bcdivmod()
, bcfloor()
y bcround()
.',
+ 'new_round_modes' => 'Nuevo enum RoundingMode
para round()
con 4 nuevos modos de redondeo: TowardsZero
, AwayFromZero
, NegativeInfinity
y PositiveInfinity
.',
+ 'new_date_functions' => 'Nuevos métodos: DateTime::createFromTimestamp()
, DateTime::getMicrosecond()
, DateTime::setMicrosecond()
, DateTimeImmutable::createFromTimestamp()
, DateTimeImmutable::getMicrosecond()
, y DateTimeImmutable::setMicrosecond()
.',
+ 'new_mb_functions' => 'Nuevas funciones: mb_trim()
, mb_ltrim()
, mb_rtrim()
, mb_ucfirst()
, y mb_lcfirst()
.',
+ 'new_pcntl_functions' => 'Nuevas funciones: pcntl_getcpu()
, pcntl_getcpuaffinity()
, pcntl_getqos_class()
, pcntl_setns()
y pcntl_waitid()
.',
+ 'new_reflection_functions' => 'Nuevos métodos: ReflectionClassConstant::isDeprecated()
, ReflectionGenerator::isClosed()
, y ReflectionProperty::isDynamic()
.',
+ 'new_standard_functions' => 'Nuevas funciones: http_get_last_response_headers()
, http_clear_last_response_headers()
y fpow()
.',
+ 'new_xml_functions' => 'Nuevos métodos: XMLReader::fromStream()
, XMLReader::fromUri()
, XMLReader::fromString()
, XMLWriter::toStream()
, XMLWriter::toUri()
y XMLWriter::toMemory()
.',
+ 'new_grapheme_function' => 'Nueva función grapheme_str_split()
.',
+
+ 'bc_title' => 'Deprecaciones y cambios en compatibilidad retroactiva',
+ 'bc_pecl' => 'Las extensiones IMAP, OCI8, PDO_OCI y pspell han sido desagregadas y movidas a PECL.',
+ 'bc_nullable_parameter_types' => 'Los tipos de parámetros implícitamente nulos ahora están en desuso.',
+ 'bc_classname' => 'Usar _
como nombre de clase ahora está en desuso.',
+ 'bc_zero_raised_to_negative_number' => 'Elevar cero a la potencia de un número negativo ahora está en desuso.',
+ 'bc_gmp' => 'La clase GMP
ahora es final.',
+ 'bc_round' => 'Pasar un modo inválido a round()
lanza un ValueError
.',
+ 'bc_typed_constants' => 'Las constantes de clase de las extensiones date
, intl
, pdo
, reflection
, spl
, sqlite
, xmlreader
ahora tienen tipos.',
+ 'bc_mysqli_constants' => 'Los constantes MYSQLI_SET_CHARSET_DIR
, MYSQLI_STMT_ATTR_PREFETCH_ROWS
, MYSQLI_CURSOR_TYPE_FOR_UPDATE
, MYSQLI_CURSOR_TYPE_SCROLLABLE
, y MYSQLI_TYPE_INTERVAL
han sido eliminadas.',
+ 'bc_mysqli_functions' => 'Las funciones mysqli_ping()
, mysqli_kill()
, mysqli_refresh()
, los métodos mysqli::ping()
, mysqli::kill()
, mysqli::refresh()
, y los constantes MYSQLI_REFRESH_*
están en desuso.',
+ 'bc_standard' => 'stream_bucket_make_writeable()
y stream_bucket_new()
ahora devuelven una instancia de StreamBucket
en lugar de stdClass
.',
+ 'bc_core' => 'Cambio en el comportamiento de exit()
.',
+ 'bc_warnings' => 'El constante E_STRICT
está en desuso.',
+
+ 'footer_title' => 'Mejor rendimiento, mejor sintaxis, mejor seguridad de tipos.',
+ 'footer_description' => '
Para descargar el código fuente de PHP 8.4, por favor visita la página de descargas. Los binarios para Windows se encuentran en el sitio PHP para Windows. La lista de cambios está registrada en el ChangeLog.
+La guía de migración está disponible en el Manual de PHP. Por favor, consúltala para una lista detallada de nuevas características y cambios incompatibles con versiones anteriores.
', +]; diff --git a/releases/8.4/languages/nl.php b/releases/8.4/languages/nl.php new file mode 100644 index 0000000000..cb2cf3505d --- /dev/null +++ b/releases/8.4/languages/nl.php @@ -0,0 +1,53 @@ + 'PHP 8.4 is een omvangrijke update van de PHP programmeertaal. Het bevat veel nieuwe functionaliteit, zoals property hooks, asymmetrische zichtbaarheid, een bijgewerkte DOM API, prestatieverbeteringen, bugfixes en meer consistentie.', + 'documentation' => 'Documentatie', + 'main_title' => 'Beschikbaar!', + 'main_subtitle' => 'PHP 8.4 is een omvangrijke update van de PHP programmeertaal.#[\Deprecated]
attribuut',
+ 'deprecated_attribute_description' => 'Het nieuwe #[\Deprecated]
attribuut maakt PHP’s bestaand uitfaseringsmechanisme beschikbaar voor gebruiker gedefinieerde functies, methoden en klasseconstanten.',
+ 'dom_additions_html5_title' => 'Nieuwe ext-dom functies en HTML5 ondersteuning',
+ 'dom_additions_html5_description' => 'Nieuwe DOM API toe met correcte ondersteuning voor de HTML 5 standaard, oplossingen voor verschillende lang bestaande compliance bugs in the DOM functionaliteit, en verschillende nieuwe functies om het werken met documenten eenvoudiger te maken.
De nieuwe DOM API is beschikbaar via de Dom
namespace. Documenten die de nieuwe API willen gebruiken, kunnen aangemaakt worden via de Dom\HTMLDocument
en Dom\XMLDocument
klassen.
array_*()
functies',
+ 'new_array_find_description' => 'Nieuwe functies array_find()
, array_find_key()
, array_any()
, en array_all()
zijn nu beschikbaar.',
+ 'pdo_driver_specific_parsers_title' => 'PDO driver specifieke SQL parsers',
+ 'pdo_driver_specific_parsers_description' => 'Nieuwe subklassen Pdo\Dblib
, Pdo\Firebird
, Pdo\MySql
, Pdo\Odbc
, Pdo\Sqlite
van PDO
zijn nu beschikbaar.',
+ 'new_without_parentheses_title' => 'new MyClass()->method()
zonder haakjes',
+ 'new_without_parentheses_description' => 'Eigenschappen en methoden van een nieuw geïnstantieerd object kunnen nu opgevraagd worden zonder de new
expressie tussen haakjes te zetten.',
+
+ 'new_classes_title' => 'Nieuwe klassen, interfaces en functies',
+ 'new_core_functions' => 'Nieuwe request_parse_body()
functie.',
+ 'new_bcmath_functions' => 'Nieuwe bcceil()
, bcdivmod()
, bcfloor()
, en bcround()
functies.',
+ 'new_round_modes' => 'Nieuwe RoundingMode
enum voor round()
met 4 nieuwe afrondingsmodi TowardsZero
, AwayFromZero
, NegativeInfinity
, en PositiveInfinity
.',
+ 'new_date_functions' => 'Nieuwe DateTime::createFromTimestamp()
, DateTime::getMicrosecond()
, DateTime::setMicrosecond()
, DateTimeImmutable::createFromTimestamp()
, DateTimeImmutable::getMicrosecond()
, en DateTimeImmutable::setMicrosecond()
methoden.',
+ 'new_mb_functions' => 'Nieuwe mb_trim()
, mb_ltrim()
, mb_rtrim()
, mb_ucfirst()
, en mb_lcfirst()
functies.',
+ 'new_pcntl_functions' => 'Nieuwe pcntl_getcpu()
, pcntl_getcpuaffinity()
, pcntl_getqos_class()
, pcntl_setns()
, en pcntl_waitid()
functies.',
+ 'new_reflection_functions' => 'Nieuwe ReflectionClassConstant::isDeprecated()
, ReflectionGenerator::isClosed()
, en ReflectionProperty::isDynamic()
methoden.',
+ 'new_standard_functions' => 'Nieuwe http_get_last_response_headers()
, http_clear_last_response_headers()
, en fpow()
functies.',
+ 'new_xml_functions' => 'Nieuwe XMLReader::fromStream()
, XMLReader::fromUri()
, XMLReader::fromString()
, XMLWriter::toStream()
, XMLWriter::toUri()
, en XMLWriter::toMemory()
methoden.',
+
+ 'bc_title' => 'Uitfaseringen en neerwaarts incompatibele aanpassingen',
+ 'bc_pecl' => 'De IMAP, OCI8, PDO_OCI en pspell-extensies zijn ontbundeld en verplaatst naar PECL.',
+ 'bc_nullable_parameter_types' => 'Impliciet parameters als null definiëren is nu uitgefaseerd.',
+ 'bc_classname' => 'Gebruik van _
als een klassenaam is nu uitgefaseerd.',
+ 'bc_zero_raised_to_negative_number' => 'Nul verheffen tot een negatieve macht is nu uitgefaseerd.',
+ 'bc_gmp' => 'GMP
klasse is nu final.',
+ 'bc_round' => 'Ongeldige modus doorgeven aan round()
resulteert in een ValueError
.',
+ 'bc_typed_constants' => 'Klasseconstanten van extensies date
, intl
, pdo
, reflection
, spl
, sqlite
, xmlreader
hebben nu types.',
+ 'bc_mysqli_constants' => 'MYSQLI_SET_CHARSET_DIR
, MYSQLI_STMT_ATTR_PREFETCH_ROWS
, MYSQLI_CURSOR_TYPE_FOR_UPDATE
, MYSQLI_CURSOR_TYPE_SCROLLABLE
, en MYSQLI_TYPE_INTERVAL
constanten zijn verwijderd.',
+ 'bc_mysqli_functions' => 'mysqli_ping()
, mysqli_kill()
, mysqli_refresh()
functies, mysqli::ping()
, mysqli::kill()
, mysqli::refresh()
methoden, en MYSQLI_REFRESH_*
constanten zijn uitgefaseerd.',
+ 'bc_standard' => 'stream_bucket_make_writeable()
en stream_bucket_new()
geven nu een instantie van StreamBucket
terug in plaats van stdClass
.',
+ 'bc_core' => 'exit()
heeft ander gedrag.',
+ 'bc_warnings' => 'E_STRICT
constante is uitgefaseerd.',
+
+ 'footer_title' => 'Betere prestaties, betere syntaxis, verbeterd type systeem.',
+ 'footer_description' => 'Ga naar de downloads pagina om de PHP 8.4 code te verkrijgen. Uitvoerbare bestanden voor Windows kan je vinden op de PHP voor Windows website. De volledige lijst met wijzigingen is vastgelegd in een ChangeLog.
+De migratie gids is beschikbaar in de PHP Handleiding. Gebruik deze om een gedetailleerde lijst te krijgen van nieuwe opties en neerwaarts incompatibele aanpassingen.
', +]; diff --git a/releases/8.4/languages/pt_BR.php b/releases/8.4/languages/pt_BR.php new file mode 100644 index 0000000000..1c808a19bf --- /dev/null +++ b/releases/8.4/languages/pt_BR.php @@ -0,0 +1,55 @@ + 'PHP 8.4 é uma atualização importante da linguagem PHP. Ela contém muitos novos recursos, como hooks de propriedade, visibilidade assimétrica, uma API DOM atualizada, melhorias de desempenho, correções de bugs e uma limpeza geral.', + 'documentation' => 'Doc', + 'main_title' => 'Lançado!', + 'main_subtitle' => 'PHP 8.4 é uma atualização importante da linguagem PHP.#[\Deprecated]
Atributo',
+ 'deprecated_attribute_description' => 'O novo atributo #[\Deprecated]
torna o mecanismo de descontinuação existente no PHP disponível para funções, métodos e constantes de classe definidas pelo usuário.',
+ 'dom_additions_html5_title' => 'Novos recursos ext-dom e suporte a HTML5',
+ 'dom_additions_html5_description' => 'Novas classes Dom\HTMLDocument
, Dom\XMLDocument
e métodos DOMNode::compareDocumentPosition()
, DOMXPath::registerPhpFunctionNS()
, DOMXPath::quote()
, XSLTProcessor::registerPHPFunctionNS()
estão disponíveis.',
+ 'new_array_find_title' => 'Novas funções array_*()
',
+ 'new_array_find_description' => 'Novas funções array_find()
, array_find_key()
, array_any()
e array_all()
estão disponíveis.',
+ 'pdo_driver_specific_parsers_title' => 'Parsers SQL específicos para drivers PDO',
+ 'pdo_driver_specific_parsers_description' => 'Novas subclasses Pdo\Dblib
, Pdo\Firebird
, Pdo\MySql
, Pdo\Odbc
, Pdo\Sqlite
de PDO
estão disponíveis.',
+ 'new_without_parentheses_title' => 'new MyClass()->method()
sem parênteses',
+ 'new_without_parentheses_description' => 'Propriedades e métodos de um objeto recém-instanciado agora podem ser acessados sem a necessidade de envolver a expressão new
entre parênteses.',
+
+ 'new_classes_title' => 'Novas classes, interfaces e funções',
+ 'new_jit_implementation' => 'Nova implementação JIT baseada no Framework IR',
+ 'new_core_functions' => 'Nova função request_parse_body()
.',
+ 'new_bcmath_functions' => 'Novas funções bcceil()
, bcdivmod()
, bcfloor()
e bcround()
.',
+ 'new_round_modes' => 'Novo Enum RoundingMode
para round()
com 4 novos modos de arredondamento: TowardsZero
, AwayFromZero
, NegativeInfinity
e PositiveInfinity
.',
+ 'new_date_functions' => 'Novos métodos DateTime::createFromTimestamp()
, DateTime::getMicrosecond()
, DateTime::setMicrosecond()
, DateTimeImmutable::createFromTimestamp()
, DateTimeImmutable::getMicrosecond()
e DateTimeImmutable::setMicrosecond()
.',
+ 'new_mb_functions' => 'Novas funções mb_trim()
, mb_ltrim()
, mb_rtrim()
, mb_ucfirst()
e mb_lcfirst()
.',
+ 'new_pcntl_functions' => 'Novas funções pcntl_getcpu()
, pcntl_getcpuaffinity()
, pcntl_getqos_class()
, pcntl_setns()
e pcntl_waitid()
.',
+ 'new_reflection_functions' => 'Novos métodos ReflectionClassConstant::isDeprecated()
, ReflectionGenerator::isClosed()
e ReflectionProperty::isDynamic()
.',
+ 'new_standard_functions' => 'Novas funções http_get_last_response_headers()
, http_clear_last_response_headers()
e fpow()
.',
+ 'new_xml_functions' => 'Novos métodos XMLReader::fromStream()
, XMLReader::fromUri()
, XMLReader::fromString()
, XMLWriter::toStream()
, XMLWriter::toUri()
e XMLWriter::toMemory()
.',
+ 'new_grapheme_function' => 'Nova função grapheme_str_split()
.',
+
+ 'bc_title' => 'Alterações obsoletas e incompatibilidades com versões anteriores',
+ 'bc_pecl' => 'As extensões IMAP, OCI8, PDO_OCI e pspell foram separadas e movidas para o PECL.',
+ 'bc_nullable_parameter_types' => 'Tipos de parâmetros implicitamente anuláveis agora estão obsoletos.',
+ 'bc_classname' => 'O uso de _
no nome da classe agora está obsoleto.',
+ 'bc_zero_raised_to_negative_number' => 'Elevar zero a um número negativo agora está obsoleto.',
+ 'bc_gmp' => 'A classe GMP
agora é final.',
+ 'bc_round' => 'Passar um modo inválido para round()
agora lança um ValueError
.',
+ 'bc_typed_constants' => 'As constantes de classe das extensões date
, intl
, pdo
, reflection
, spl
, sqlite
, xmlreader
agora são tipadas.',
+ 'bc_mysqli_constants' => 'As constantes MYSQLI_SET_CHARSET_DIR
, MYSQLI_STMT_ATTR_PREFETCH_ROWS
, MYSQLI_CURSOR_TYPE_FOR_UPDATE
, MYSQLI_CURSOR_TYPE_SCROLLABLE
e MYSQLI_TYPE_INTERVAL
foram removidas.',
+ 'bc_mysqli_functions' => 'As funções mysqli_ping()
, mysqli_kill()
, mysqli_refresh()
, os métodos mysqli::ping()
, mysqli::kill()
, mysqli::refresh()
e as constantes MYSQLI_REFRESH_*
estão obsoletas.',
+ 'bc_standard' => 'stream_bucket_make_writeable()
e stream_bucket_new()
agora retornam uma instância de StreamBucket
em vez de stdClass
.',
+ 'bc_core' => 'Alteração de comportamento no uso de exit()
.',
+ 'bc_warnings' => 'A constante E_STRICT
está obsoleta.',
+
+ 'footer_title' => 'Melhor desempenho, sintaxe aprimorada e maior segurança de tipos.',
+ 'footer_description' => 'Para baixar o código-fonte do PHP 8.4, visite a página de downloads. Os binários para Windows podem ser encontrados no site PHP for Windows. A lista de alterações está registrada no ChangeLog.
+O guia de migração está disponível no Manual do PHP. Consulte-o para uma lista detalhada de novos recursos e mudanças incompatíveis com versões anteriores.
', +]; diff --git a/releases/8.4/languages/ru.php b/releases/8.4/languages/ru.php new file mode 100644 index 0000000000..ef4a077d80 --- /dev/null +++ b/releases/8.4/languages/ru.php @@ -0,0 +1,55 @@ + 'PHP 8.4 — большое обновление языка PHP. Оно содержит множество новых возможностей, таких как хуки свойств, асимметричная область видимости свойств, обновление DOM API, улучшена производительность, исправлены ошибки и многое другое.', + 'documentation' => 'Документация', + 'main_title' => 'выпущен!', + 'main_subtitle' => 'PHP 8.4 — большое обновление языка PHP.#[\Deprecated]
',
+ 'deprecated_attribute_description' => 'Новый атрибут #[\Deprecated]
расширяет существующий механизм объявления сущности устаревшей для пользовательских функций, методов и констант классов.',
+ 'dom_additions_html5_title' => 'Новые возможности ext-dom и поддержка HTML5',
+ 'dom_additions_html5_description' => 'Новый DOM API, который поддерживает разбор HTML5-документов в соответствии со стандартами, исправляет несколько давних ошибок в поведении DOM и добавляет несколько функций, делающих работу с документами более удобной.
Новый DOM API доступен в пространстве имён Dom
. Документы, использующие новый DOM API, могут быть созданы с помощью классов Dom\HTMLDocument
и Dom\XMLDocument
.
array_*()
',
+ 'new_array_find_description' => 'Добавлены функции array_find()
, array_find_key()
, array_any()
и array_all()
.',
+ 'pdo_driver_specific_parsers_title' => 'SQL-парсеры, специфичные для драйверов PDO',
+ 'pdo_driver_specific_parsers_description' => 'Добавлены дочерние классы Pdo\Dblib
, Pdo\Firebird
, Pdo\MySql
, Pdo\Odbc
, Pdo\Sqlite
драйверов, наследующие PDO
.',
+ 'new_without_parentheses_title' => 'new MyClass()->method()
без скобок',
+ 'new_without_parentheses_description' => 'К свойствам и методам только что инициализированного объекта теперь можно обращаться, не оборачивая выражение new
в круглые скобки.',
+
+ 'new_classes_title' => 'Новые классы, интерфейсы и функции',
+ 'new_jit_implementation' => 'Новая реализация JIT на основе IR Framework',
+ 'new_core_functions' => 'Добавлена функция request_parse_body()
.',
+ 'new_bcmath_functions' => 'Добавлены функции bcceil()
, bcdivmod()
, bcfloor()
и bcround()
.',
+ 'new_round_modes' => 'Добавлено перечисление RoundingMode
для функции round()
с 4 режимами: TowardsZero
, AwayFromZero
, NegativeInfinity
и PositiveInfinity
.',
+ 'new_date_functions' => 'Добавлены методы DateTime::createFromTimestamp()
, DateTime::getMicrosecond()
, DateTime::setMicrosecond()
, DateTimeImmutable::createFromTimestamp()
, DateTimeImmutable::getMicrosecond()
и DateTimeImmutable::setMicrosecond()
.',
+ 'new_mb_functions' => 'Добавлены функции mb_trim()
, mb_ltrim()
, mb_rtrim()
, mb_ucfirst()
и mb_lcfirst()
.',
+ 'new_pcntl_functions' => 'Добавлены функции pcntl_getcpu()
, pcntl_getcpuaffinity()
, pcntl_getqos_class()
, pcntl_setns()
и pcntl_waitid()
.',
+ 'new_reflection_functions' => 'Добавлены методы ReflectionClassConstant::isDeprecated()
, ReflectionGenerator::isClosed()
и ReflectionProperty::isDynamic()
.',
+ 'new_standard_functions' => 'Добавлены функции http_get_last_response_headers()
, http_clear_last_response_headers()
, fpow()
.',
+ 'new_xml_functions' => 'Добавлены методы XMLReader::fromStream()
, XMLReader::fromUri()
, XMLReader::fromString()
, XMLWriter::toStream()
, XMLWriter::toUri()
и XMLWriter::toMemory()
.',
+ 'new_grapheme_function' => 'Добавлена функция grapheme_str_split()
.',
+
+ 'bc_title' => 'Устаревшая функциональность и изменения в обратной совместимости',
+ 'bc_pecl' => 'Модули IMAP, OCI8, PDO_OCI и pspell перенесены из ядра в PECL.',
+ 'bc_nullable_parameter_types' => 'Типы параметров, неявно допускающие значение null
объявлены устаревшими.',
+ 'bc_classname' => 'Использование _
в качестве имени класса объявлено устаревшим.',
+ 'bc_zero_raised_to_negative_number' => 'Возведение нуля в степень отрицательного числа объявлено устаревшим.',
+ 'bc_gmp' => 'Класс GMP
теперь является окончательным.',
+ 'bc_round' => 'Передача некорректного режима в функцию round()
выбрасывает ошибку ValueError
.',
+ 'bc_typed_constants' => 'Константы классов модулей date
, intl
, pdo
, reflection
, spl
, sqlite
и xmlreader
типизированы.',
+ 'bc_mysqli_constants' => 'Удалены константы MYSQLI_SET_CHARSET_DIR
, MYSQLI_STMT_ATTR_PREFETCH_ROWS
, MYSQLI_CURSOR_TYPE_FOR_UPDATE
, MYSQLI_CURSOR_TYPE_SCROLLABLE
и MYSQLI_TYPE_INTERVAL
.',
+ 'bc_mysqli_functions' => 'Функции mysqli_ping()
, mysqli_kill()
, mysqli_refresh()
, методы mysqli::ping()
, mysqli::kill()
, mysqli::refresh()
и константы MYSQLI_REFRESH_*
объявлены устаревшими.',
+ 'bc_standard' => 'Функции stream_bucket_make_writeable()
и stream_bucket_new()
теперь возвращают экземпляр класса StreamBucket
вместо stdClass
.',
+ 'bc_core' => 'Изменение поведения языковой конструкции exit()
.',
+ 'bc_warnings' => 'Константа E_STRICT
объявлена устаревшей.',
+
+ 'footer_title' => 'Выше производительность, лучше синтаксис, надёжнее система типов.',
+ 'footer_description' => 'Для загрузки исходного кода PHP 8.3 посетите страницу Downloads. Бинарные файлы Windows находятся на сайте PHP for Windows. Список изменений перечислен на странице ChangeLog.
+Руководство по миграции доступно в разделе документации. Ознакомьтесь с ним, чтобы узнать обо всех новых возможностях и изменениях, затрагивающих обратную совместимость.
', +]; diff --git a/releases/8.4/nl.php b/releases/8.4/nl.php new file mode 100644 index 0000000000..1a972eecb8 --- /dev/null +++ b/releases/8.4/nl.php @@ -0,0 +1,6 @@ + +