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 Randomizer::getFloat() and Randomizer::nextFloat() methods', 'randomizer_getfloat_nextfloat_description' => '

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.

The Randomizer was also extended with two methods to generate random floats in an unbiased fashion. The Randomizer::getFloat() method uses the γ-section algorithm that was published in Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

', 'dynamic_class_constant_fetch_title' => 'Dynamic class constant fetch', + 'command_line_linter_title' => 'Command line linter supports multiple files', + 'command_line_linter_description' => '

The command line linter now accepts variadic input for filenames to lint

', 'new_classes_title' => 'New Classes, Interfaces, and Functions', 'new_dom' => 'New DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and DOMParentNode::replaceChildren() methods.', @@ -32,9 +34,11 @@ 'new_ziparchive' => 'New ZipArchive::getArchiveFlag() method.', 'new_openssl_ec' => 'Support for generation EC keys with custom EC parameters in OpenSSL extension.', 'new_ini' => 'New INI setting zend.max_allowed_stack_size 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' => 'More Appropriate Date/Time Exceptions.', 'bc_arrays' => 'Assigning a negative index n to an empty array will now make sure that the next index is n + 1 instead of 0.', 'bc_range' => 'Changes to the range() function.', 'bc_traits' => 'Changes in re-declaration of static properties in traits.', @@ -43,6 +47,7 @@ 'bc_reflection' => 'ReflectionClass::getStaticProperties() is no longer nullable.', 'bc_ini' => 'INI settings assert.active, assert.bail, assert.callback, assert.exception, and assert.warning have been deprecated.', 'bc_standard' => 'Calling get_class() and get_parent_class() without arguments are deprecated.', + 'bc_sqlite3' => 'SQLite3: Default error mode set to exceptions.', 'footer_title' => 'Better performance, better syntax, improved type safety.', 'footer_description' => '

For source downloads of PHP 8.3 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.

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 Randomizer::getFloat() e Randomizer::nextFloat()', 'randomizer_getfloat_nextfloat_description' => '

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.

O Randomizer também foi ampliado com dois métodos para gerar floats de maneira imparcial. O método Randomizer::getFloat() utiliza o algoritmo da seção γ que foi publicado em Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

', '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' => '

O linter da linha de comando agora aceita vários nomes de arquivos para lint

', 'new_classes_title' => 'Novas classes, interfaces e funções', 'new_dom' => 'Novos métodos DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() e DOMParentNode::replaceChildren().', @@ -32,6 +34,8 @@ 'new_ziparchive' => 'Novo método ZipArchive::getArchiveFlag().', '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 zend.max_allowed_stack_size 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 ReflectionClass::getStaticProperties() não será mais nulo.', 'bc_ini' => 'As configurações INI assert.active, assert.bail, assert.callback, assert.exception e assert.warning foram obsoletas.', 'bc_standard' => 'Chamar get_class() e get_parent_class() 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' => '

Para downloads do código-fonte do PHP 8.3, visite a página de downloads. Binários para Windows podem ser encontrados no site PHP for Windows. A lista de alterações está registrada no ChangeLog.

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' => 'Новые методы Randomizer::getFloat() и Randomizer::nextFloat()', 'randomizer_getfloat_nextfloat_description' => '

Из-за ограниченной точности и неявного округления чисел с плавающей точкой генерация несмещённого числа, лежащего в определённом интервале, является нетривиальной задачей, а пользовательские решения могут давать смещённые результаты или числа, выходящие за пределы требуемого диапазона.

Класс Randomizer был расширен двумя методами, позволяющими генерировать случайные числа с плавающей точкой несмещённым образом. Метод Randomizer::getFloat() использует алгоритм γ-секции, который был опубликован в Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

', 'dynamic_class_constant_fetch_title' => 'Динамическое получение констант класса', + 'command_line_linter_title' => 'Линтер командной строки поддерживает несколько файлов', + 'command_line_linter_description' => '

Линтер командной строки теперь принимает нескольно имён файлов для проверки.

', 'new_classes_title' => 'Новые классы, интерфейсы и функции', 'new_dom' => 'Новые методы DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() и DOMParentNode::replaceChildren().', @@ -32,9 +34,11 @@ 'new_ziparchive' => 'Новый метод ZipArchive::getArchiveFlag().', 'new_openssl_ec' => 'Поддержка генерации EC-ключей с пользовательскими EC-параметрами в модуле OpenSSL.', 'new_ini' => 'Новый параметр INI zend.max_allowed_stack_size для установки максимально допустимого размера стека.', + 'ini_fallback' => 'php.ini теперь поддерживает синтаксис резервных значений/значений по умолчанию.', + 'anonymous_readonly' => 'Анонимные классы теперь доступны только для чтения.', 'bc_title' => 'Устаревшая функциональность и изменения в обратной совместимости', - 'bc_datetime' => 'Более подходящие исключения в модуле Date/Time.', + 'bc_datetime' => 'Более подходящие исключения в модуле Date/Time.', 'bc_arrays' => 'Присвоение отрицательного индекса n пустому массиву теперь гарантирует, что следующим индексом будет n + 1, а не 0.', 'bc_range' => 'Изменения в функции range().', 'bc_traits' => 'Изменения в повторном объявлении статических свойств в трейтах.', @@ -43,6 +47,7 @@ 'bc_reflection' => 'ReflectionClass::getStaticProperties() теперь не возвращает значение null.', 'bc_ini' => 'Параметры INI assert.active, assert.bail, assert.callback, assert.exception и assert.warning объявлены устаревшими.', 'bc_standard' => 'Вызов функции get_class() и get_parent_class() без аргументов объявлен устаревшим.', + 'bc_sqlite3' => 'SQLite3: режим ошибок по умолчанию установлен на исключения.', 'footer_title' => 'Выше производительность, лучше синтаксис, надёжнее система типов.', 'footer_description' => '

Для загрузки исходного кода PHP 8.3 посетите страницу Downloads. Бинарные файлы Windows находятся на сайте PHP for Windows. Список изменений перечислен на странице ChangeLog.

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' => '新增 Randomizer::getFloat()Randomizer::nextFloat() 方法', 'randomizer_getfloat_nextfloat_description' => '

由于浮点数的精度和隐式四舍五入的限制,在特定区间内生成无偏差的浮点数并非易事,常建的用户解决方案可能会生成有偏差的结果或超出要求范围的数字。

Randomizer 扩展了两种方法,用于随机生成无偏差的浮点数。Randomizer::getFloat() 方法使用的是 γ-section 算法,该算法发表于 Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

', 'dynamic_class_constant_fetch_title' => '动态获取类常量', + 'command_line_linter_title' => '命令行 linter 支持多个文件', + 'command_line_linter_description' => '

命令行 linter 现在接受文件名的可变输入以进行 lint

', 'new_classes_title' => '新的类、接口和函数', 'new_dom' => '新增 DOMElement::getAttributeNames()DOMElement::insertAdjacentElement()DOMElement::insertAdjacentText()DOMElement::toggleAttribute()DOMNode::contains()DOMNode::getRootNode()DOMNode::isEqualNode()DOMNameSpaceNode::contains()DOMParentNode::replaceChildren() 方法。', @@ -36,9 +38,11 @@ 'new_ziparchive' => '新增 ZipArchive::getArchiveFlag() 方法。', 'new_openssl_ec' => '支持在 OpenSSL 扩展中使用自定义 EC 参数生成 EC 密钥。', 'new_ini' => '新增 INI 设置 zend.max_allowed_stack_size 用于设置允许的最大堆栈大小。', + 'ini_fallback' => 'php.ini 现在支持后备/默认值语法。', + 'anonymous_readonly' => '匿名类现在可以是只读的。', 'bc_title' => '弃用和向后不兼容', - 'bc_datetime' => '更合适的 Date/Time 异常。', + 'bc_datetime' => '更合适的 Date/Time 异常。', 'bc_arrays' => '现在在空数组中获取负索引 n 时,将确保下一个索引是 n + 1 而不是 0。', 'bc_range' => '对 range() 函数的更改。', 'bc_traits' => '在 traits 中重新声明静态属性的更改。', @@ -47,6 +51,7 @@ 'bc_reflection' => 'ReflectionClass::getStaticProperties() 不再为空。', 'bc_ini' => 'INI 配置 assert.activeassert.bailassert.callbackassert.exceptionassert.warning 已被废弃。', 'bc_standard' => '调用 get_class()get_parent_class() 时未提供参数,已被废弃。', + 'bc_sqlite3' => 'SQLite3:默认错误模式设置为异常。', 'footer_title' => '更好的性能、更好的语法、改进类型安全。', 'footer_description' => '

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 +

+

+ + PR + +

+
+
+
PHP < 8.3
+
+ +php -l foo.php bar.php +No syntax errors detected in foo.php + +
+
+
+
+
PHP 8.3
+
+ +php -l foo.php bar.php +No syntax errors detected in foo.php +No syntax errors detected in bar.php + +
+
+
+
+ +
+ +
+ @@ -459,6 +493,8 @@ PHP
  • +
  • +
  • @@ -476,6 +512,7 @@ PHP
  • +