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> -- PHP Webmaster List Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php