[web-php] master: Add additional features to PHP 8.3 release page (#828)
| From: | Tim Bond via GitHub | Date: | Fri, 24 Nov 2023 07:46:09 +0000 |
| Subject: | [web-php] master: Add additional features to PHP 8.3 release page (#828) | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-31103@lists.php.net to get a copy of this message | ||
Author: Tim Bond (cookieguru)
Committer: GitHub (web-flow)
Pusher: saundefined
Date: 2023-11-24T10:32:31+03:00
Commit: https://github.com/php/web-php/commit/5462bd16a37d71810690a75ffdbee1dc80090798
Raw diff: https://github.com/php/web-php/commit/5462bd16a37d71810690a75ffdbee1dc80090798.diff
Add additional features to PHP 8.3 release page (#828)
Changed paths:
M releases/8.3/languages/en.php
M releases/8.3/languages/pt_BR.php
M releases/8.3/languages/ru.php
M releases/8.3/languages/zh.php
M releases/8.3/release.inc
Diff:
diff --git a/releases/8.3/languages/en.php b/releases/8.3/languages/en.php
index f5e2600c5f..dee5499da7 100644
--- a/releases/8.3/languages/en.php
+++ b/releases/8.3/languages/en.php
@@ -19,6 +19,8 @@
'randomizer_getfloat_nextfloat_title' => 'New
<code>Randomizer::getFloat()</code> and <code>Randomizer::nextFloat()</code>
methods',
'randomizer_getfloat_nextfloat_description' => '<p>Due to the limited
precision and implicit rounding of floating point numbers, generating an unbiased float lying within
a specific interval is non-trivial and the commonly used userland solutions may generate biased
results or numbers outside the requested range.</p><p>The Randomizer was also extended
with two methods to generate random floats in an unbiased fashion. The
<code>Randomizer::getFloat()</code> method uses the γ-section algorithm that was
published in <a href="https://doi.org/10.1145/3503512"
target="_blank" rel="noopener noreferrer">Drawing Random Floating-Point
Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3,
2022.</a></p>',
'dynamic_class_constant_fetch_title' => 'Dynamic class constant fetch',
+ 'command_line_linter_title' => 'Command line linter supports multiple
files',
+ 'command_line_linter_description' => '<p>The command line linter now
accepts variadic input for filenames to lint</p>',
'new_classes_title' => 'New Classes, Interfaces, and Functions',
'new_dom' => 'New <a
href="/manual/en/domelement.getattributenames.php"><code>DOMElement::getAttributeNames()</code></a>,
<a
href="/manual/en/domelement.insertadjacentelement.php"><code>DOMElement::insertAdjacentElement()</code></a>,
<a
href="/manual/en/domelement.insertadjacenttext.php"><code>DOMElement::insertAdjacentText()</code></a>,
<a
href="/manual/en/domelement.toggleattribute.php"><code>DOMElement::toggleAttribute()</code></a>,
<a
href="/manual/en/domnode.contains.php"><code>DOMNode::contains()</code></a>,
<a
href="/manual/en/domnode.getrootnode.php"><code>DOMNode::getRootNode()</code></a>,
<a
href="/manual/en/domnode.isequalnode.php"><code>DOMNode::isEqualNode()</code></a>,
<code>DOMNameSpaceNode::contains()</code>, and <a
href="/manual/en/domparentnode.replacechildren.php"><code>DOMParentNode::replaceChildren()</code></a>
methods.',
@@ -32,9 +34,11 @@
'new_ziparchive' => 'New <a
href="/manual/en/ziparchive.getarchiveflag.php"><code>ZipArchive::getArchiveFlag()</code></a>
method.',
'new_openssl_ec' => 'Support for generation EC keys with custom EC parameters
in OpenSSL extension.',
'new_ini' => 'New INI setting <a
href="/manual/en/migration83.other-changes.php#migration83.other-changes.ini"><code>zend.max_allowed_stack_size</code></a>
to set the maximum allowed stack size.',
+ 'ini_fallback' => 'php.ini now supports fallback/default value syntax.',
+ 'anonymous_readonly' => 'Anonymous classes can now be readonly.',
'bc_title' => 'Deprecations and backward compatibility breaks',
- 'bc_datetime' => 'More Appropriate Date/Time Exceptions.',
+ 'bc_datetime' => '<a href="https://wiki.php.net/rfc/datetime-exceptions">More
Appropriate Date/Time Exceptions</a>.',
'bc_arrays' => 'Assigning a negative index <code>n</code> to an
empty array will now make sure that the next index is <code>n + 1</code> instead of
<code>0</code>.',
'bc_range' => 'Changes to the <code>range()</code>
function.',
'bc_traits' => 'Changes in re-declaration of static properties in
traits.',
@@ -43,6 +47,7 @@
'bc_reflection' => '<a
href="/manual/en/reflectionclass.getstaticproperties.php"><code>ReflectionClass::getStaticProperties()</code></a>
is no longer nullable.',
'bc_ini' => 'INI settings <a
href="/manual/en/info.configuration.php#ini.assert.active"><code>assert.active</code></a>,
<a
href="/manual/en/info.configuration.php#ini.assert.bail"><code>assert.bail</code></a>,
<a
href="/manual/en/info..configuration.php#ini.assert.callback"><code>assert.callback</code></a>,
<a
href="/manual/en/info.configuration.php#ini.assert.exception"><code>assert.exception</code></a>,
and <a
href="/manual/en/info.configuration.php#ini.assert.warning"><code>assert.warning</code></a>
have been deprecated.',
'bc_standard' => 'Calling <a
href="/manual/en/function.get-class.php"><code>get_class()</code></a>
and <a
href="/manual/en/function.get-parent-class.php"><code>get_parent_class()</code></a>
without arguments are deprecated.',
+ 'bc_sqlite3' => 'SQLite3: Default error mode set to exceptions.',
'footer_title' => 'Better performance, better syntax, improved type
safety.',
'footer_description' => '<p>For source downloads of PHP 8.3 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_3">ChangeLog</a>.</p>
diff --git a/releases/8.3/languages/pt_BR.php b/releases/8.3/languages/pt_BR.php
index 49338420af..089dfe8b8e 100644
--- a/releases/8.3/languages/pt_BR.php
+++ b/releases/8.3/languages/pt_BR.php
@@ -19,6 +19,8 @@
'randomizer_getfloat_nextfloat_title' => 'Novos métodos
<code>Randomizer::getFloat()</code> e
<code>Randomizer::nextFloat()</code>',
'randomizer_getfloat_nextfloat_description' => '<p>Devido à precisão
limitada e ao arredondamento implícito de números de ponto flutuante, gerar um float imparcial
dentro de um intervalo específico não é trivial, e as soluções comumente usadas no nível do
usuário podem gerar resultados tendenciosos ou números fora do intervalo
solicitado.</p><p>O Randomizer também foi ampliado com dois métodos para gerar floats
de maneira imparcial. O método <code>Randomizer::getFloat()</code> utiliza o algoritmo
da seção γ que foi publicado em <a href="https://doi.org/10.1145/3503512"
target="_blank" rel="noopener noreferrer">Drawing Random Floating-Point
Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3,
2022.</a></p>',
'dynamic_class_constant_fetch_title' => 'Recuperação dinâmica de
constantes de classe',
+ 'command_line_linter_title' => 'O linter de linha de comando suporta vários
arquivos',
+ 'command_line_linter_description' => '<p>O linter da linha de comando
agora aceita vários nomes de arquivos para lint</p>',
'new_classes_title' => 'Novas classes, interfaces e funções',
'new_dom' => 'Novos métodos <a
href="/manual/pt_BR/domelement.getattributenames.php"><code>DOMElement::getAttributeNames()</code></a>,
<a
href="/manual/pt_BR/domelement.insertadjacentelement.php"><code>DOMElement::insertAdjacentElement()</code></a>,
<a
href="/manual/pt_BR/domelement.insertadjacenttext.php"><code>DOMElement::insertAdjacentText()</code></a>,
<a
href="/manual/pt_BR/domelement.toggleattribute..php"><code>DOMElement::toggleAttribute()</code></a>,
<a
href="/manual/pt_BR/domnode.contains.php"><code>DOMNode::contains()</code></a>,
<a
href="/manual/pt_BR/domnode.getrootnode.php"><code>DOMNode::getRootNode()</code></a>,
<a
href="/manual/pt_BR/domnode.isequalnode.php"><code>DOMNode::isEqualNode()</code></a>,
<code>DOMNameSpaceNode::contains()</code> e <a
href="/manual/pt_BR/domparentnode.replacechildren.php"><code>DOMParentNode::replaceChildren()</code></a>.',
@@ -32,6 +34,8 @@
'new_ziparchive' => 'Novo método <a
href="/manual/pt_BR/ziparchive.getarchiveflag.php"><code>ZipArchive::getArchiveFlag()</code></a>.',
'new_openssl_ec' => 'Suporte para geração de chaves EC com parâmetros EC
personalizados na extensão OpenSSL.',
'new_ini' => 'Nova configuração INI <a
href="/manual/pt_BR/migration83.other-changes.php#migration83.other-changes.ini"><code>zend.max_allowed_stack_size</code></a>
para definir o tamanho máximo permitido da pilha.',
+ 'ini_fallback' => 'php.ini agora suporta sintaxe de valor
substituto/padrão.',
+ 'anonymous_readonly' => 'Classes anônimas agora podem ser somente
leitura.',
'bc_title' => 'Alterações obsoletas e incompatibilidades com versões
anteriores',
'bc_datetime' => 'Exceções de Date/Time mais apropriadas.',
@@ -43,6 +47,7 @@
'bc_reflection' => 'O tipo de retorno de <a
href="/manual/pt_BR/reflectionclass.getstaticproperties.php"><code>ReflectionClass::getStaticProperties()</code></a>
não será mais nulo.',
'bc_ini' => 'As configurações INI <a
href="/manual/pt_BR/info.configuration.php#ini.assert.active"><code>assert.active</code></a>,
<a
href="/manual/pt_BR/info.configuration.php#ini.assert.bail"><code>assert.bail</code></a>,
<a
href="/manual/pt_BR/info.configuration.php#ini.assert.callback"><code>assert.callback</code></a>,
<a
href="/manual/pt_BR/info.configuration.php#ini.assert.exception"><code>assert.exception</code></a>
e <a
href="/manual/pt_BR/info.configuration.php#ini.assert.warning"><code>assert.warning</code></a>
foram obsoletas.',
'bc_standard' => 'Chamar <a
href="/manual/pt_BR/function.get-class.php"><code>get_class()</code></a>
e <a
href="/manual/pt_BR/function.get-parent-class.php"><code>get_parent_class()</code></a>
sem argumentos está obsoleto.',
+ 'bc_sqlite3' => 'SQLite3: modo de erro padrão definido como
exceções.',
'footer_title' => 'Melhorias de desempenho, sintaxe aprimorada e maior
segurança de tipos.',
'footer_description' => '<p>Para downloads do código-fonte do PHP 8.3,
visite a página de <a href="/downloads">downloads</a>. Binários para Windows
podem ser encontrados no site <a href="https://windows.php.net/download">PHP for
Windows</a>. A lista de alterações está registrada no <a
href="/ChangeLog-8.php#PHP_8_3">ChangeLog</a>.</p>
diff --git a/releases/8.3/languages/ru.php b/releases/8.3/languages/ru.php
index 54bafafdf1..78eaa53411 100644
--- a/releases/8.3/languages/ru.php
+++ b/releases/8.3/languages/ru.php
@@ -19,6 +19,8 @@
'randomizer_getfloat_nextfloat_title' => 'Новые методы
<code>Randomizer::getFloat()</code> и
<code>Randomizer::nextFloat()</code>',
'randomizer_getfloat_nextfloat_description' => '<p>Из-за
ограниченной точности и неявного округления чисел с
плавающей точкой генерация несмещённого числа,
лежащего в определённом интервале, является
нетривиальной задачей, а пользовательские решения
могут давать смещённые результаты или числа,
выходящие за пределы требуемого
диапазона.</p><p>Класс Randomizer был расширен двумя
методами, позволяющими генерировать случайные числа с
плавающей точкой несмещённым образом. Метод
<code>Randomizer::getFloat()</code> использует алгоритм
γ-секции, который был опубликован в <a href="https://doi.org/10.1145/3503512"
target="_blank" rel="noopener noreferrer">Drawing Random Floating-Point
Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3,
2022.</a></p>',
'dynamic_class_constant_fetch_title' => 'Динамическое
получение констант класса',
+ 'command_line_linter_title' => 'Линтер командной строки
поддерживает несколько файлов',
+ 'command_line_linter_description' => '<p>Линтер
командной строки теперь принимает нескольно имён
файлов для проверки.</p>',
'new_classes_title' => 'Новые классы, интерфейсы и
функции',
'new_dom' => 'Новые методы <a
href="/manual/ru/domelement.getattributenames.php"><code>DOMElement::getAttributeNames()</code></a>,
<a
href="/manual/ru/domelement.insertadjacentelement.php"><code>DOMElement::insertAdjacentElement()</code></a>,
<a
href="/manual/ru/domelement.insertadjacenttext.php"><code>DOMElement::insertAdjacentText()</code></a>,
<a
href="/manual/ru/domelement.toggleattribute.php"><code>DOMElement::toggleAttribute()</code></a>,
<a
href="/manual/ru/domnode.contains.php"><code>DOMNode::contains()</code></a>,
<a
href="/manual/ru/domnode.getrootnode.php"><code>DOMNode::getRootNode()</code></a>,
<a
href="/manual/ru/domnode.isequalnode.php"><code>DOMNode::isEqualNode()</code></a>,
<code>DOMNameSpaceNode::contains()</code> и <a
href="/manual/ru/domparentnode.replacechildren.php"><code>DOMParentNode::replaceChildren()</code></a>.',
@@ -32,9 +34,11 @@
'new_ziparchive' => 'Новый метод <a
href="/manual/ru/ziparchive.getarchiveflag.php"><code>ZipArchive::getArchiveFlag()</code></a>.',
'new_openssl_ec' => 'Поддержка генерации EC-ключей с
пользовательскими EC-параметрами в модуле OpenSSL.',
'new_ini' => 'Новый параметр INI <a
href="/manual/ru/migration83.other-changes.php#migration83.other-changes.ini"><code>zend.max_allowed_stack_size</code></a>
для установки максимально допустимого размера
стека.',
+ 'ini_fallback' => 'php.ini теперь поддерживает
синтаксис резервных значений/значений по
умолчанию.',
+ 'anonymous_readonly' => 'Анонимные классы теперь
доступны только для чтения.',
'bc_title' => 'Устаревшая функциональность и
изменения в обратной совместимости',
- 'bc_datetime' => 'Более подходящие исключения в
модуле Date/Time.',
+ 'bc_datetime' => '<a href="https://wiki.php.net/rfc/datetime-exceptions">Более
подходящие исключения в модуле Date/Time</a>.',
'bc_arrays' => 'Присвоение отрицательного
индекса <code>n</code> пустому массиву теперь
гарантирует, что следующим индексом будет <code>n +
1</code>, а не <code>0</code>.',
'bc_range' => 'Изменения в функции
<code>range()</code>.',
'bc_traits' => 'Изменения в повторном объявлении
статических свойств в трейтах.',
@@ -43,6 +47,7 @@
'bc_reflection' => '<a
href="/manual/ru/reflectionclass.getstaticproperties.php"><code>ReflectionClass::getStaticProperties()</code></a>
теперь не возвращает значение <code>null</code>.',
'bc_ini' => 'Параметры INI <a
href="/manual/ru/info.configuration.php#ini.assert.active"><code>assert.active</code></a>,
<a
href="/manual/ru/info.configuration.php#ini.assert.bail"><code>assert.bail</code></a>,
<a
href="/manual/ru/info.configuration.php#ini.assert.callback"><code>assert.callback</code></a>,
<a
href="/manual/ru/info.configuration.php#ini.assert.exception"><code>assert.exception</code></a>
и <a
href="/manual/ru/info.configuration.php#ini.assert.warning"><code>assert.warning</code></a>
объявлены устаревшими.',
'bc_standard' => 'Вызов функции <a
href="/manual/en/function.get-class.php"><code>get_class()</code></a>
и <a
href="/manual/en/function.get-parent-class.php"><code>get_parent_class()</code></a>
без аргументов объявлен устаревшим.',
+ 'bc_sqlite3' => 'SQLite3: режим ошибок по умолчанию
установлен на исключения.',
'footer_title' => 'Выше производительность, лучше
синтаксис, надёжнее система типов.',
'footer_description' => '<p>Для загрузки исходного
кода PHP 8.3 посетите страницу <a
href="/downloads">Downloads</a>. Бинарные файлы Windows
находятся на сайте <a href="https://windows.php.net/download">PHP for
Windows</a>. Список изменений перечислен на странице <a
href="/ChangeLog-8.php#PHP_8_3">ChangeLog</a>.</p>
diff --git a/releases/8.3/languages/zh.php b/releases/8.3/languages/zh.php
index 76b6395bb2..cbe5807295 100644
--- a/releases/8.3/languages/zh.php
+++ b/releases/8.3/languages/zh.php
@@ -23,6 +23,8 @@
'randomizer_getfloat_nextfloat_title' => '新增
<code>Randomizer::getFloat()</code> 和 <code>Randomizer::nextFloat()</code>
方法',
'randomizer_getfloat_nextfloat_description' =>
'<p>由于浮点数的精度和隐式四舍五入的限制,在特定区间内生成无偏差的浮点数并非易事,常建的用户解决方案可能会生成有偏差的结果或超出要求范围的数字。</p><p>Randomizer
扩展了两种方法,用于随机生成无偏差的浮点数。<code>Randomizer::getFloat()</code>
方法使用的是 γ-section 算法,该算法发表于 <a href="https://doi.org/10.1145/3503512"
target="_blank" rel="noopener noreferrer">Drawing Random Floating-Point
Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3,
2022.</a></p>',
'dynamic_class_constant_fetch_title' => '动态获取类常量',
+ 'command_line_linter_title' => '命令行 linter 支持多个文件',
+ 'command_line_linter_description' => '<p>命令行 linter
现在接受文件名的可变输入以进行 lint</p>',
'new_classes_title' => '新的类、接口和函数',
'new_dom' => '新增 <a
href="/manual/zh/domelement.getattributenames.php"><code>DOMElement::getAttributeNames()</code></a>、<a
href="/manual/zh/domelement.insertadjacentelement.php"><code>DOMElement::insertAdjacentElement()</code></a>、<a
href="/manual/zh/domelement.insertadjacenttext.php"><code>DOMElement::insertAdjacentText()</code></a>、<a
href="/manual/zh/domelement.toggleattribute.php"><code>DOMElement::toggleAttribute()</code></a>、<a
href="/manual/zh/domnode.contains.php"><code>DOMNode::contains()</code></a>、<a
href="/manual/zh/domnode.getrootnode.php"><code>DOMNode::getRootNode()</code></a>、<a
href="/manual/zh/domnode.isequalnode.php"><code>DOMNode::isEqualNode()</code></a>、<code>DOMNameSpaceNode::contains()</code>
和 <a
href="/manual/zh/domparentnode.replacechildren.php"><code>DOMParentNode::replaceChildren()</code></a>
方法。',
@@ -36,9 +38,11 @@
'new_ziparchive' => '新增 <a
href="/manual/zh/ziparchive.getarchiveflag.php"><code>ZipArchive::getArchiveFlag()</code></a>
方法。',
'new_openssl_ec' => '支持在 OpenSSL 扩展中使用自定义 EC
参数生成 EC 密钥。',
'new_ini' => '新增 INI 设置 <a
href="/manual/zh/migration83.other-changes.php#migration83.other-changes.ini"><code>zend.max_allowed_stack_size</code></a>
用于设置允许的最大堆栈大小。',
+ 'ini_fallback' => 'php.ini 现在支持后备/默认值语法。',
+ 'anonymous_readonly' => '匿名类现在可以是只读的。',
'bc_title' => '弃用和向后不兼容',
- 'bc_datetime' => '更合适的 Date/Time 异常。',
+ 'bc_datetime' => '<a href="https://wiki.php.net/rfc/datetime-exceptions">更合适的
Date/Time 异常。</a>',
'bc_arrays' => '现在在空数组中获取负索引
<code>n</code> 时,将确保下一个索引是 <code>n + 1</code>
而不是 <code>0</code>。',
'bc_range' => '对 <code>range()</code> 函数的更改。',
'bc_traits' => '在 traits 中重新声明静态属性的更改。',
@@ -47,6 +51,7 @@
'bc_reflection' => '<a
href="/manual/zh/reflectionclass.getstaticproperties.php"><code>ReflectionClass::getStaticProperties()</code></a>
不再为空。',
'bc_ini' => 'INI 配置 <a
href="/manual/zh/info.configuration.php#ini.assert.active"><code>assert.active</code></a>、<a
href="/manual/zh/info.configuration.php#ini.assert.bail"><code>assert.bail</code></a>、<a
href="/manual/zh/info.configuration.php#ini.assert.callback"><code>assert.callback</code></a>、<a
href="/manual/zh/info.configuration.php#ini.assert.exception"><code>assert.exception</code></a>
和 <a
href="/manual/zh/info.configuration.php#ini.assert.warning"><code>assert.warning</code></a>
已被废弃。',
'bc_standard' => '调用 <a
href="/manual/zh/function.get-class.php"><code>get_class()</code></a>
和 <a
href="/manual/zh/function.get-parent-class.php"><code>get_parent_class()</code></a>
时未提供参数,已被废弃。',
+ 'bc_sqlite3' => 'SQLite3:默认错误模式设置为异常。',
'footer_title' =>
'更好的性能、更好的语法、改进类型安全。',
'footer_description' => '<p>
diff --git a/releases/8.3/release.inc b/releases/8.3/release.inc
index 49e4910c7b..4e7aaf46aa 100644
--- a/releases/8.3/release.inc
+++ b/releases/8.3/release.inc
@@ -440,6 +440,40 @@ PHP
<?= message('randomizer_getfloat_nextfloat_description', $lang) ?>
</div>
+ <div class="php8-compare">
+ <h2 class="php8-h2" id="command_line_linter">
+ <?= message('command_line_linter_title', $lang) ?>
+ <a class="php8-rfc" href="https://github.com/php/php-src/issues/10024">PR</a>
+ <a class="php8-rfc" href="/manual/<?= $lang
?>/features..commandline.options.php"><?= message('documentation', $lang)
?></a>
+ </h2>
+ <div class="php8-compare__main">
+ <div class="php8-compare__block example-contents">
+ <div class="php8-compare__label">PHP < 8.3</div>
+ <div class="php8-code phpcode">
+ <code>
+php -l foo.php bar.php
+No syntax errors detected in foo.php
+ </code>
+ </div>
+ </div>
+ <div class="php8-compare__arrow"></div>
+ <div class="php8-compare__block example-contents">
+ <div class="php8-compare__label php8-compare__label_new">PHP
8.3</div>
+ <div class="php8-code phpcode">
+ <code>
+php -l foo.php bar.php
+No syntax errors detected in foo.php
+No syntax errors detected in bar.php
+ </code>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="php8-compare__content">
+ <?= message('command_line_linter_description', $lang) ?>
+ </div>
+
</section>
@@ -459,6 +493,8 @@ PHP
<li><?= message('new_ziparchive', $lang) ?></li>
<li><?= message('new_openssl_ec', $lang) ?></li>
<li><?= message('new_ini', $lang) ?></li>
+ <li><?= message('ini_fallback', $lang) ?></li>
+ <li><?= message('anonymous_readonly', $lang)
?></li>
</ul>
</div>
</div>
@@ -476,6 +512,7 @@ PHP
<li><?= message('bc_reflection', $lang) ?></li>
<li><?= message('bc_ini', $lang) ?></li>
<li><?= message('bc_standard', $lang) ?></li>
+ <li><?= message('bc_sqlite3', $lang) ?></li>
</ul>
</div>
</div>