Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preparing PHP 8.4 announcement page #1079

Merged
merged 61 commits into from
Nov 19, 2024
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
b58da6a
PHP 8.4 page
saundefined Sep 19, 2024
9317e22
Additions for PHP 8.4 page
saundefined Sep 22, 2024
d6773f4
Apply suggestions from code review
saundefined Oct 13, 2024
b8af9e8
Apply suggestions from code review
saundefined Oct 13, 2024
280b96c
Add PDO Driver specific SQL parsers
saundefined Oct 15, 2024
5ebe198
Apply suggestions from code review
saundefined Oct 16, 2024
ab0758a
Fix
saundefined Oct 16, 2024
36d32ed
Update Pdo example
saundefined Oct 16, 2024
da3a560
Use LangChooser
saundefined Oct 18, 2024
faab6c8
Update releases/8.4/release.inc
saundefined Oct 20, 2024
95d9ae3
Add PHP 8.4 logo image
pronskiy Oct 22, 2024
6b0f763
Add PHP 8.4 share image
saundefined Oct 23, 2024
1ea5cb2
Update New and Deprecated sections
saundefined Oct 23, 2024
6df60c1
Add lazy objects example
saundefined Oct 23, 2024
be21b5d
Deprecated attribute instead of Lazy Objects
saundefined Oct 23, 2024
8957d75
Apply suggestions from code review
saundefined Oct 23, 2024
c3ca425
Apply suggestions from code review
saundefined Oct 23, 2024
79573e7
Update releases/8.4/languages/en.php
saundefined Oct 23, 2024
f2c14bd
Apply suggestions from code review
saundefined Oct 23, 2024
942ce84
Apply suggestions from code review
saundefined Oct 23, 2024
61ed2f3
Apply suggestions from code review
saundefined Oct 23, 2024
9bdc850
Update ext-dom features and HTML5 section
saundefined Oct 24, 2024
3359c81
Update ext-dom features and HTML5 section
saundefined Oct 24, 2024
6c81332
Update Deprecated section
saundefined Oct 24, 2024
4ec6e61
Add Russian translation
saundefined Oct 24, 2024
e0ed535
add doc links
saundefined Oct 24, 2024
a73d1a7
Apply suggestions from code review
saundefined Nov 1, 2024
3124a4c
Update url
saundefined Nov 2, 2024
74e056f
Update screenshots
saundefined Nov 2, 2024
092c31a
Update messages
saundefined Nov 2, 2024
005eb35
docs: add PHP 8.4 translation to pt_BR.
Nov 3, 2024
cabc7b0
Merge remote-tracking branch 'upstream/php84' into php84-pt_BR
Nov 3, 2024
f0fee25
docs: add PHP 8.4 translation to pt_BR.
Nov 3, 2024
f2bcf89
Add PHP 8.4 translation to pt_BR.
saundefined Nov 3, 2024
d672371
Update messages
saundefined Nov 3, 2024
d456010
Add dutch translation for 8.4 release page
nielsdos Nov 3, 2024
943825a
Add dutch translation for 8.4 release page
saundefined Nov 3, 2024
89412ad
Wording
saundefined Nov 9, 2024
c514e47
Wording
saundefined Nov 11, 2024
a522b5c
docs: updated 'bc_core' exit() to pt_BR.
Nov 11, 2024
06c2d8c
Updated 'bc_core' exit() in pt_BR.
saundefined Nov 11, 2024
cab6337
Update releases/8.4/languages/nl.php
saundefined Nov 11, 2024
f8cf13d
Add doc links
saundefined Nov 12, 2024
de4d025
Add Spanish language support for PHP 8.4 release
andresayac Nov 13, 2024
53bbaa9
Add Spanish language support for PHP 8.4 release
saundefined Nov 14, 2024
1c77f03
Add Spanish to language select
saundefined Nov 14, 2024
789aa28
Apply suggestions from code review
saundefined Nov 16, 2024
49e04bf
Apply suggestions from code review
saundefined Nov 16, 2024
b27c386
Apply suggestions from code review
saundefined Nov 16, 2024
15c5253
Add detailed descriptions for new features in Spanish language suppor…
andresayac Nov 16, 2024
2194c34
Add more Spanish descriptions in PHP 8.4
saundefined Nov 16, 2024
de6500f
Update Dutch translation for new descriptions
nielsdos Nov 16, 2024
8c02cdb
Apply suggestions from code review
saundefined Nov 17, 2024
eff384b
Update Dutch translation for new descriptions
saundefined Nov 17, 2024
137c925
Apply suggestions from code review
saundefined Nov 18, 2024
ae72aca
Apply suggestions from code review
saundefined Nov 18, 2024
0ccbc5a
Update Russian translation
saundefined Nov 18, 2024
cb020e3
Update pt_BR of PHP 8.4
marcosmarcolin Nov 19, 2024
2c8caa5
Update Spanish translation
andresayac Nov 19, 2024
317a4d8
Revert PHP 8.4 changes for layout.inc and index.php
saundefined Nov 19, 2024
4ffd1d3
Apply suggestions from code review
saundefined Nov 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions images/php8/logo_php8_4.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/php8/php_8_4_released.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions include/layout.inc
Original file line number Diff line number Diff line change
Expand Up @@ -507,10 +507,10 @@ function get_nav_items(): array {
id: 'help',
),
new NavItem(
name: 'PHP 8.3',
href: '/releases/8.3/index.php',
name: 'PHP 8.4',
href: '/releases/8.4/index.php',
id: 'php8',
image: '/images/php8/logo_php8_3.svg',
image: '/images/php8/logo_php8_4.svg',
)
];
}
Expand Down
2 changes: 1 addition & 1 deletion index.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
<img class="hero__logo" src="/images/logos/php-logo-white.svg" alt="php" width="240" height="120">
<p class="hero__text">A <strong>popular general-purpose scripting language</strong> that is especially suited to web development.<br />Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.</p>
<div class="hero__actions">
<a href="/releases/8.3/index.php" class="hero__btn hero__btn--primary">What's new in 8.3</a>
<a href="/releases/8.4/index.php" class="hero__btn hero__btn--primary">What's new in 8.4</a>
<a href="/downloads.php" class="hero__btn hero__btn--secondary">Download</a>
</div>
EOF;
Expand Down
74 changes: 74 additions & 0 deletions releases/8.4/common.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?php

declare(strict_types=1);

namespace releases\php84;

include_once __DIR__ . '/../../include/prepend.inc';

const LANGUAGES = [
'en' => '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
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@official_php" />
<meta name="twitter:title" content="PHP 8.4 Released" />
<meta name="twitter:description" content="{$meta_description}" />
<meta name="twitter:creator" content="@official_php" />
<meta name="twitter:image:src" content="{$meta_image_path}" />

<meta itemprop="name" content="PHP 8.4 Released" />
<meta itemprop="description" content="{$meta_description}" />
<meta itemprop="image" content="{$meta_image_path}" />

<meta property="og:image" content="{$meta_image_path}" />
<meta property="og:description" content="{$meta_description}" />
META
]);
}

function language_chooser(string $currentLang): void {
// Print out the form with all the options
echo '
<form action="" method="get" id="changelang" name="changelang">
<fieldset>
<label for="changelang-langs">Change language:</label>
<select onchange="location = this.value + \'.php\'" name="lang" id="changelang-langs">
';

$tab = ' ';
foreach (LANGUAGES as $lang => $text) {
$selected = ($lang === $currentLang) ? ' selected="selected"' : '';
echo $tab, "<option value='$lang'$selected>$text</option>\n";
}

echo ' </select>
</fieldset>
</form>
';
}

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;
}
5 changes: 5 additions & 0 deletions releases/8.4/en.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php

$lang = 'en';

include_once __DIR__ . '/release.inc';
5 changes: 5 additions & 0 deletions releases/8.4/es.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php

$lang = 'es';

include_once __DIR__ . '/release.inc';
13 changes: 13 additions & 0 deletions releases/8.4/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

use phpweb\LangChooser;
use const releases\php84\LANGUAGES;

$_SERVER['BASE_PAGE'] = 'releases/8.4/index.php';
require_once __DIR__ . '/common.php';
require_once __DIR__ . '/../../src/autoload.php';

$langChooser = new LangChooser(LANGUAGES, [], "", "");
[$lang,] = $langChooser->chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']);

mirror_redirect("/releases/8.4/$lang.php");
50 changes: 50 additions & 0 deletions releases/8.4/languages/en.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?php

return [
'common_header' => '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.<br class="display-none-md"> It contains many new features, such as property hooks, asymmetric visibility, an updated DOM API, 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',
'deprecated_attribute_title' => '<code>#[\Deprecated]</code> Attribute',
'deprecated_attribute_description' => 'The new <code>#[\Deprecated]</code> 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 <code>Dom\HTMLDocument</code>, <code>Dom\XMLDocument</code> classes, and <code>DOMNode::compareDocumentPosition()</code>, <code>DOMXPath::registerPhpFunctionNS()</code>, <code>DOMXPath::quote()</code>, <code>XSLTProcessor::registerPHPFunctionNS()</code> methods are available.',
'new_array_find_title' => 'New <code>array_*()</code> functions',
'new_array_find_description' => 'New functions <a href="/manual/en/function.array-find.php"><code>array_find()</code></a>, <a href="/manual/en/function.array-find-key.php"><code>array_find_key()</code></a>, <a href="/manual/en/function.array-any.php"><code>array_any()</code></a>, and <a href="/manual/en/function.array-all.php"><code>array_all()</code></a> are available.',
'pdo_driver_specific_parsers_title' => 'PDO Driver specific SQL parsers',
'pdo_driver_specific_parsers_description' => 'New subclasses <code>Pdo\Dblib</code>, <code>Pdo\Firebird</code>, <code>Pdo\MySql</code>, <code>Pdo\Odbc</code>, <code>Pdo\Sqlite</code> of <code>PDO</code> are available.',
saundefined marked this conversation as resolved.
Show resolved Hide resolved
'new_without_parentheses_title' => '<code>new MyClass()->method()</code> without parentheses',

'new_classes_title' => 'New Classes, Interfaces, and Functions',
saundefined marked this conversation as resolved.
Show resolved Hide resolved
'new_core_functions' => 'New <code>request_parse_body()</code> function.',
'new_bcmath_functions' => 'New <code>bcceil()</code>, <code>bcdivmod()</code>, <code>bcfloor()</code>, and <code>bcround()</code> functions.',
saundefined marked this conversation as resolved.
Show resolved Hide resolved
'new_round_modes' => 'New <code>RoundingMode</code> enum for <code>round()</code> with 4 new rounding modes <code>TowardsZero</code>, <code>AwayFromZero</code>, <code>NegativeInfinity</code>, and <code>PositiveInfinity</code>.',
'new_date_functions' => 'New <code>DateTime::createFromTimestamp()</code>, <code>DateTime::getMicrosecond()</code>, <code>DateTime::setMicrosecond()</code>, <code>DateTimeImmutable::createFromTimestamp()</code>, <code>DateTimeImmutable::getMicrosecond()</code>, and <code>DateTimeImmutable::setMicrosecond()</code> methods.',
'new_mb_functions' => 'New <code>mb_trim()</code>, <code>mb_ltrim()</code>, <code>mb_rtrim()</code>, <code>mb_ucfirst()</code>, and <code>mb_lcfirst()</code> functions.',
'new_pcntl_functions' => 'New <code>pcntl_getcpu()</code>, <code>pcntl_getcpuaffinity()</code>, <code>pcntl_getqos_class()</code>, <code>pcntl_setns()</code>, and <code>pcntl_waitid()</code> functions.',
'new_reflection_functions' => 'New <code>ReflectionClassConstant::isDeprecated()</code>, <code>ReflectionGenerator::isClosed()</code>, and <code>ReflectionProperty::isDynamic()</code> methods.',
'new_standard_functions' => 'New <code>http_get_last_response_headers()</code>, <code>http_clear_last_response_headers()</code>, and <code>fpow()</code> functions.',
'new_xml_functions' => 'New <code>XMLReader::fromStream()</code>, <code>XMLReader::fromUri()</code>, <code>XMLReader::fromString()</code>, <code>XMLWriter::toStream()</code>, <code>XMLWriter::toUri()</code>, and <code>XMLWriter::toMemory()</code> methods.',
saundefined marked this conversation as resolved.
Show resolved Hide resolved

'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 <code>_</code> as a class name is now deprecated.',
saundefined marked this conversation as resolved.
Show resolved Hide resolved
'bc_zero_raised_to_negative_number' => 'Raising zero to the power of a negative number is now deprecated.',
'bc_gmp' => '<code>GMP</code> class is now final.',
saundefined marked this conversation as resolved.
Show resolved Hide resolved
'bc_round' => 'Passing invalid mode to <code>round()</code> throws <code>ValueError</code>.',
'bc_typed_constants' => 'Class constants from extensions <code>date</code>, <code>intl</code>, <code>pdo</code>, <code>reflection</code>, <code>spl</code>, <code>sqlite</code>, <code>xmlreader</code> are typed now.',
'bc_mysqli_constants' => '<code>MYSQLI_SET_CHARSET_DIR</code>, <code>MYSQLI_STMT_ATTR_PREFETCH_ROWS</code>, <code>MYSQLI_CURSOR_TYPE_FOR_UPDATE</code>, <code>MYSQLI_CURSOR_TYPE_SCROLLABLE</code>, and <code>MYSQLI_TYPE_INTERVAL</code> constants have been removed.',
'bc_mysqli_functions' => '<code>mysqli_ping()</code>, <code>mysqli_kill()</code>, <code>mysqli_refresh()</code> functions, <code>mysqli::ping()</code>, <code>mysqli::kill()</code>, <code>mysqli::refresh()</code> methods, and <code>MYSQLI_REFRESH_*</code> constants have been deprecated.',
'bc_standard' => '<code>stream_bucket_make_writeable()</code> and <code>stream_bucket_new()</code> now return an instance of <code>StreamBucket</code> instead of <code>stdClass</code>.',
'bc_core' => '<a href="/manual/en/migration84.incompatible.php#migration84.incompatible.core.exit"><code>exit()</code> behavioral change</a>.',
'bc_warnings' => '<code>E_STRICT</code> constant has been deprecated.',

'footer_title' => 'Better performance, better syntax, improved type safety.',
'footer_description' => '<p>For source downloads of PHP 8.4 please visit the <a href="/downloads">downloads</a> page. Windows binaries can be found on the <a href="https://windows.php.net/download">PHP for Windows</a> site. The list of changes is recorded in the <a href="/ChangeLog-8.php#PHP_8_4">ChangeLog</a>.</p>
<p>The <a href="/manual/en/migration84.php">migration guide</a> is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.</p>',
];
50 changes: 50 additions & 0 deletions releases/8.4/languages/es.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?php

return [
'common_header' => '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.<br class="display-none-md"> 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.',
'upgrade_now' => '¡Actualiza a PHP 8.4 ahora!',

'property_hooks_title' => 'Hooks para Propiedades',
'asymmetric_visibility_title' => 'Visibilidad asimétrica',
'deprecated_attribute_title' => 'Atributo <code>#[\Deprecated]</code>',
'deprecated_attribute_description' => 'El nuevo atributo <code>#[\Deprecated]</code> 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' => 'Nuevas clases <code>Dom\HTMLDocument</code>, <code>Dom\XMLDocument</code>, y métodos como <code>DOMNode::compareDocumentPosition()</code>, <code>DOMXPath::registerPhpFunctionNS()</code>, <code>DOMXPath::quote()</code>, <code>XSLTProcessor::registerPHPFunctionNS()</code> están disponibles.',
'new_array_find_title' => 'Nuevas funciones <code>array_*()</code>',
'new_array_find_description' => 'Nuevas funciones disponibles: <a href="/manual/es/function.array-find.php"><code>array_find()</code></a>, <a href="/manual/es/function.array-find-key.php"><code>array_find_key()</code></a>, <a href="/manual/es/function.array-any.php"><code>array_any()</code></a> y <a href="/manual/es/function.array-all.php"><code>array_all()</code></a>.',
'pdo_driver_specific_parsers_title' => 'Procesadores SQL específicos para PDO Driver',
'pdo_driver_specific_parsers_description' => 'Nuevas subclases de <code>PDO</code>: <code>Pdo\Dblib</code>, <code>Pdo\Firebird</code>, <code>Pdo\MySql</code>, <code>Pdo\Odbc</code>, <code>Pdo\Sqlite</code> están disponibles.',
'new_without_parentheses_title' => '<code>new MyClass()->method()</code> sin paréntesis',

'new_classes_title' => 'Nuevas Clases, Interfaces y Funciones',
'new_core_functions' => 'Nueva función <code>request_parse_body()</code>.',
'new_bcmath_functions' => 'Nuevas funciones: <code>bcceil()</code>, <code>bcdivmod()</code>, <code>bcfloor()</code> y <code>bcround()</code>.',
'new_round_modes' => 'Nuevo enum <code>RoundingMode</code> para <code>round()</code> con 4 nuevos modos de redondeo: <code>TowardsZero</code>, <code>AwayFromZero</code>, <code>NegativeInfinity</code> y <code>PositiveInfinity</code>.',
'new_date_functions' => 'Nuevos métodos: <code>DateTime::createFromTimestamp()</code>, <code>DateTime::getMicrosecond()</code>, <code>DateTime::setMicrosecond()</code>, <code>DateTimeImmutable::createFromTimestamp()</code>, <code>DateTimeImmutable::getMicrosecond()</code>, y <code>DateTimeImmutable::setMicrosecond()</code>.',
'new_mb_functions' => 'Nuevas funciones: <code>mb_trim()</code>, <code>mb_ltrim()</code>, <code>mb_rtrim()</code>, <code>mb_ucfirst()</code>, y <code>mb_lcfirst()</code>.',
'new_pcntl_functions' => 'Nuevas funciones: <code>pcntl_getcpu()</code>, <code>pcntl_getcpuaffinity()</code>, <code>pcntl_getqos_class()</code>, <code>pcntl_setns()</code> y <code>pcntl_waitid()</code>.',
'new_reflection_functions' => 'Nuevos métodos: <code>ReflectionClassConstant::isDeprecated()</code>, <code>ReflectionGenerator::isClosed()</code>, y <code>ReflectionProperty::isDynamic()</code>.',
'new_standard_functions' => 'Nuevas funciones: <code>http_get_last_response_headers()</code>, <code>http_clear_last_response_headers()</code> y <code>fpow()</code>.',
'new_xml_functions' => 'Nuevos métodos: <code>XMLReader::fromStream()</code>, <code>XMLReader::fromUri()</code>, <code>XMLReader::fromString()</code>, <code>XMLWriter::toStream()</code>, <code>XMLWriter::toUri()</code> y <code>XMLWriter::toMemory()</code>.',

'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 <code>_</code> 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 <code>GMP</code> ahora es final.',
'bc_round' => 'Pasar un modo inválido a <code>round()</code> lanza un <code>ValueError</code>.',
'bc_typed_constants' => 'Las constantes de clase de las extensiones <code>date</code>, <code>intl</code>, <code>pdo</code>, <code>reflection</code>, <code>spl</code>, <code>sqlite</code>, <code>xmlreader</code> ahora tienen tipos.',
'bc_mysqli_constants' => 'Los constantes <code>MYSQLI_SET_CHARSET_DIR</code>, <code>MYSQLI_STMT_ATTR_PREFETCH_ROWS</code>, <code>MYSQLI_CURSOR_TYPE_FOR_UPDATE</code>, <code>MYSQLI_CURSOR_TYPE_SCROLLABLE</code>, y <code>MYSQLI_TYPE_INTERVAL</code> han sido eliminadas.',
'bc_mysqli_functions' => 'Las funciones <code>mysqli_ping()</code>, <code>mysqli_kill()</code>, <code>mysqli_refresh()</code>, los métodos <code>mysqli::ping()</code>, <code>mysqli::kill()</code>, <code>mysqli::refresh()</code>, y los constantes <code>MYSQLI_REFRESH_*</code> están en desuso.',
'bc_standard' => '<code>stream_bucket_make_writeable()</code> y <code>stream_bucket_new()</code> ahora devuelven una instancia de <code>StreamBucket</code> en lugar de <code>stdClass</code>.',
'bc_core' => 'Cambio en el comportamiento de <a href="/manual/es/migration84.incompatible.php#migration84.incompatible.core.exit"><code>exit()</code></a>.',
'bc_warnings' => 'El constante <code>E_STRICT</code> está en desuso.',

'footer_title' => 'Mejor rendimiento, mejor sintaxis, mejor seguridad de tipos.',
'footer_description' => '<p>Para descargar el código fuente de PHP 8.4, por favor visita la página de <a href="/downloads">descargas</a>. Los binarios para Windows se encuentran en el sitio <a href="https://windows.php.net/download">PHP para Windows</a>. La lista de cambios está registrada en el <a href="/ChangeLog-8.php#PHP_8_4">ChangeLog</a>.</p>
<p>La <a href="/manual/en/migration84.php">guía de migración</a> 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.</p>',
];
Loading