svn: /phpdoc/ru/trunk/appendices/migration80/ new-features.xml
[email protected] (Sergey Panteleev) Tue, 08 Dec 2020 07:28:47 +0000
| Newsgroups | php.doc.ru |
|---|---|
| Message-ID | <[email protected]> |
sergey Tue, 08 Dec 2020 07:28:47 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=351959
Log:
docs(ru): Updated to English revision
Changed paths:
U phpdoc/ru/trunk/appendices/migration80/new-features.xml
svn-diffs-351959.txt
(text/x-diff, 27.8 KB)
Modified: phpdoc/ru/trunk/appendices/migration80/new-features.xml
===================================================================
--- phpdoc/ru/trunk/appendices/migration80/new-features.xml 2020-12-08 07:22:02 UTC (rev 351958)
+++ phpdoc/ru/trunk/appendices/migration80/new-features.xml 2020-12-08 07:28:47 UTC (rev 351959)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351582 Maintainer: sergey Status: ready -->
+<!-- EN-Revision: 351949 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="migration80.new-features" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -14,6 +14,7 @@
<para>
<!-- RFC: https://wiki.php.net/rfc/named_params -->
+ Добавлена поддержка <link linkend="functions.named-arguments">Именованных аргументов</link>.
</para>
</sect3>
@@ -21,7 +22,7 @@
<title>Атрибуты</title>
<para>
- Добавлена поддержка атрибутов.
+ Добавлена поддержка <link linkend="language.attributes">атрибутов</link>.
<!-- RFC: https://wiki.php.net/rfc/attributes_v2 -->
<!-- RFC: https://wiki.php.net/rfc/attribute_amendments -->
<!-- RFC: https://wiki.php.net/rfc/shorter_attribute_syntax -->
@@ -33,7 +34,7 @@
<title>Объявление свойств в конструкторе</title>
<para>
- Добавлена поддержка определения свойств в конструкторе (объявление свойств
+ Добавлена поддержка <link linkend="language.oop5.decon.constructor.promotion">определения свойств в конструкторе</link> (объявление свойств
в сигнатуре конструктора).
<!-- RFC: https://wiki.php.net/rfc/constructor_promotion -->
</para>
@@ -45,7 +46,7 @@
<para>
Добавлена поддержка <link linkend="language.types.declarations.union">union types</link>.
<!-- RFC: https://wiki.php.net/rfc/union_types_v2 -->
- </para>
+ </para>
</sect3>
<sect3 xml:id="migration80.new-features.core.match">
@@ -61,7 +62,7 @@
<title>Оператор Nullsafe</title>
<para>
- Добавлена поддержка оператора Nullsafe (<literal>?-></literal>).
+ Добавлена поддержка <link linkend="language.oop5.basic.nullsafe">оператора Nullsafe</link> (<literal>?-></literal>).
<!-- RFC: https://wiki.php.net/rfc/nullsafe_operator -->
</para>
</sect3>
@@ -84,12 +85,12 @@
</listitem>
<listitem>
<para>
- Любое количество параметров функции теперь может быть заменено вариативным аргументом,
+ Любое количество параметров функции теперь может быть заменено вариативным аргументом,
при совместимости типов. Например, теперь следующий код является допустимым:
</para>
<para>
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
class A {
public function method(int $many, string $parameters, $here) {}
@@ -108,7 +109,7 @@
</para>
<para>
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
class Test {
public function create(): static {
@@ -123,7 +124,7 @@
</listitem>
<listitem>
<para>
- Теперь можно получить имя класса объекта с помощью
+ Теперь можно получить имя класса объекта с помощью
<code>$object::class</code>. Результат такой же, что и <code>get_class($object)</code>.
<!-- RFC: https://wiki.php.net/rfc/class_name_literal_on_object -->
</para>
@@ -130,7 +131,7 @@
</listitem>
<listitem>
<para>
- &new; и &instanceof; теперь можно использовать с произвольными выражениями,
+ &new; и &instanceof; теперь можно использовать с произвольными выражениями,
используя <code>new (expression)(...$args)</code> и <code>$obj instanceof (expression)</code>.
<!-- RFC: https://wiki.php.net/rfc/variable_syntax_tweaks -->
</para>
@@ -137,7 +138,7 @@
</listitem>
<listitem>
<para>
- Были внесены некоторые исправления согласованности в синтаксис переменных, например,
+ Были внесены некоторые исправления согласованности в синтаксис переменных, например,
теперь разрешена запись <code>Foo::BAR::$baz</code>.
<!-- RFC: https://wiki.php.net/rfc/variable_syntax_tweaks -->
</para>
@@ -144,7 +145,7 @@
</listitem>
<listitem>
<para>
- Добавлен интерфейс <interfacename>Stringable</interfacename>, который автоматически реализуется, если
+ Добавлен интерфейс <interfacename>Stringable</interfacename>, который автоматически реализуется, если
в классе определен метод <link linkend="object.tostring">__toString()</link>.
<!-- RFC: https://wiki.php.net/rfc/stringable -->
</para>
@@ -161,7 +162,7 @@
<literal>throw</literal> теперь можно использовать как выражение.
Это означает, что теперь возможно следующее:
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
$fn = fn() => throw new Exception('Исключение в стрелочной функции');
$user = $session->user ?? throw new Exception('Должен быть пользователь');
@@ -174,7 +175,7 @@
<para>
В списках параметров теперь разрешена необязательная завершающая запятая.
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
function functionWithLongSignature(
Type1 $parameter1,
@@ -188,7 +189,7 @@
</listitem>
<listitem>
<para>
- Теперь можно написать <code>catch (Exception)</code> для перехвата исключения,
+ Теперь можно написать <code>catch (Exception)</code> для перехвата исключения,
не сохраняя его в переменной.
<!-- RFC: https://wiki.php.net/rfc/non-capturing_catches -->
</para>
@@ -201,11 +202,11 @@
</listitem>
<listitem>
<para>
- Закрытые методы, объявленные в родительском классе, больше не применяют какие-либо правила наследования для методов
+ Закрытые методы, объявленные в родительском классе, больше не применяют какие-либо правила наследования для методов
дочернего класса (за исключением окончательных закрытых конструкторов).
В следующем примере показано, какие ограничения были сняты:
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
class ParentClass {
private function method1() {}
@@ -230,7 +231,7 @@
</listitem>
<listitem>
<para>
- Добавлена функция <function>get_resource_id</function>, которая возвращает то же значение,
+ Добавлена функция <function>get_resource_id</function>, которая возвращает то же значение,
что и <code>(int) $resource</code>. Принцип работы такой же, но с более понятным API.
</para>
</listitem>
@@ -240,7 +241,7 @@
<sect2 xml:id="migration80.new-features.date">
<title>Дата и время</title>
-
+
<itemizedlist>
<listitem>
<para>
@@ -250,8 +251,8 @@
</listitem>
<listitem>
<para>
- Добавлен спецификатор формата DateTime <literal>p</literal>, который аналогичен
- <literal>P</literal>, но возвращает <literal>Z</literal>, а не <literal>+00:00</literal>
+ Добавлен спецификатор формата DateTime <literal>p</literal>, который аналогичен
+ <literal>P</literal>, но возвращает <literal>Z</literal>, а не <literal>+00:00</literal>
для UTC.
</para>
</listitem>
@@ -262,7 +263,7 @@
<title>DOM</title>
<para>
- Добавлены <interfacename>DOMParentNode</interfacename> и <interfacename>DOMChildNode</interfacename> с
+ Добавлены <interfacename>DOMParentNode</interfacename> и <interfacename>DOMChildNode</interfacename> с
новыми API-интерфейсами обхода и управления.
<!-- RFC: https://wiki.php.net/rfc/dom_living_standard_api-->
</para>
@@ -272,8 +273,8 @@
<title>Фильтрация данных</title>
<para>
- <constant>FILTER_VALIDATE_BOOL</constant> был добавлен в качестве псевдонима для
- <constant>FILTER_VALIDATE_BOOLEAN</constant>. Новое имя является предпочтительным, так как оно использует
+ <constant>FILTER_VALIDATE_BOOL</constant> был добавлен в качестве псевдонима для
+ <constant>FILTER_VALIDATE_BOOLEAN</constant>. Новое имя является предпочтительным, так как оно использует
имя канонического типа.
</para>
</sect2>
@@ -291,8 +292,8 @@
<title>FPM</title>
<para>
- Добавлена новая опция <literal>pm.status_listen</literal>, позволяющая получать статус
- с другой конечной точки (например, порта или файла UDS). Это может пригодится для получения статуса, когда все
+ Добавлена новая опция <literal>pm.status_listen</literal>, позволяющая получать статус
+ с другой конечной точки (например, порта или файла UDS). Это может пригодится для получения статуса, когда все
дочерние элементы заняты обработкой долговыполняемых запросов.
</para>
</sect2>
@@ -320,7 +321,7 @@
<title>LDAP</title>
<para>
- Добавлена функция <function>ldap_count_references</function>, которая возвращает количество
+ Добавлена функция <function>ldap_count_references</function>, которая возвращает количество
ссылочных сообщений в результатах поиска.
</para>
</sect2>
@@ -328,8 +329,8 @@
<title>OPcache</title>
<para>
- Если ini-параметр <!--<link linkend="ini.opcache.record-warnings">-->opcache.record_warnings<!--</link>--> включен,
- OPcache будет записывать предупреждения во время компиляции и воспроизводить их при следующем включении, даже если
+ Если ini-параметр <!--<link linkend="ini.opcache.record-warnings">-->opcache.record_warnings<!--</link>--> включен,
+ OPcache будет записывать предупреждения во время компиляции и воспроизводить их при следующем включении, даже если
они обслуживаются из кеша.
</para>
</sect2>
@@ -338,18 +339,18 @@
<title>OpenSSL</title>
<para>
- Добавлена поддержка синтаксиса криптографических сообщений (CMS) (<link xlink:href="&url.rfc;5652">RFC 5652</link>),
- состоящего из функций для шифрования, дешифрования, подписи, проверки и чтения. API
- похож на API для функций PKCS #7 с добавлением новых констант кодирования:
+ Добавлена поддержка синтаксиса криптографических сообщений (CMS) (<link xlink:href="&url.rfc;5652">RFC 5652</link>),
+ состоящего из функций для шифрования, дешифрования, подписи, проверки и чтения. API
+ похож на API для функций PKCS #7 с добавлением новых констант кодирования:
<constant>OPENSSL_ENCODING_DER</constant>, <constant>OPENSSL_ENCODING_SMIME</constant>
и <constant>OPENSSL_ENCODING_PEM</constant>:
<simplelist>
<member>
- <function>openssl_cms_encrypt</function> шифрует сообщение в файле с сертификатами
+ <function>openssl_cms_encrypt</function> шифрует сообщение в файле с сертификатами
и выводит результат в предоставленный файл.
</member>
<member>
- <function>openssl_cms_decrypt</function> расшифровывает сообщение S/MIME в файле и выводит
+ <function>openssl_cms_decrypt</function> расшифровывает сообщение S/MIME в файле и выводит
результаты в предоставленный файл.
</member>
<member>
@@ -356,11 +357,11 @@
<function>openssl_cms_read</function> экспортирует файл CMS в массив сертификатов PEM.
</member>
<member>
- <function>openssl_cms_sign</function> подписывает сообщение MIME в файле сертификатом и ключом
+ <function>openssl_cms_sign</function> подписывает сообщение MIME в файле сертификатом и ключом
и выводит результат в предоставленный файл.
</member>
<member>
- <function>openssl_cms_verify</function> проверяет, что блок данных не поврежден, подписывающая сторона
+ <function>openssl_cms_verify</function> проверяет, что блок данных не поврежден, подписывающая сторона
является тем, кем она являются и возвращает сертификаты подписывающих сторон.
</member>
</simplelist>
@@ -371,8 +372,8 @@
<title>Регулярные выражения (совместимые с Perl)</title>
<para>
- Добавлена функция <function>preg_last_error_msg</function>, которая возвращает человекочитаемое сообщение
- о последней ошибке PCRE. Она дополняет <function>preg_last_error</function>, которая возвращает
+ Добавлена функция <function>preg_last_error_msg</function>, которая возвращает человекочитаемое сообщение
+ о последней ошибке PCRE. Она дополняет <function>preg_last_error</function>, которая возвращает
целочисленное значение перечисления.
</para>
</sect2>
@@ -383,7 +384,7 @@
<itemizedlist>
<listitem>
<para>
- Следующие методы теперь могут возвращать информацию о значениях
+ Следующие методы теперь могут возвращать информацию о значениях
параметров внутренних функций по умолчанию:
</para>
<para>
@@ -402,7 +403,7 @@
<title>SQLite3</title>
<para>
- <methodname>SQLite3::setAuthorizer</methodname> и соответствующие константы классов были добавлены, с помощью которых можно
+ <methodname>SQLite3::setAuthorizer</methodname> и соответствующие константы классов были добавлены, с помощью которых можно
задать собственную callback-функцию для авторизации или запрета действия в базе данных.
<!-- PR: https://github.com/php/php-src/pull/4797 -->
</para>
@@ -415,7 +416,7 @@
<listitem>
<para>
Добавлены функции <function>str_contains</function>, <function>str_starts_with</function> и
- <function>str_ends_with</function>, которые проверяют, содержит ли <parameter>haystack</parameter>,
+ <function>str_ends_with</function>, которые проверяют, содержит ли <parameter>haystack</parameter>,
начинается или заканчивается <parameter>needle</parameter> соответственно.
<!-- RFC: https://wiki.php.net/rfc/str_contains -->
<!-- RFC: https://wiki.php.net/rfc/add_str_starts_with_and_ends_with_functions -->
@@ -431,7 +432,7 @@
<listitem>
<para>
Добавлена функция <function>get_debug_type</function>, которая возвращает тип, который может использоваться для генераций сообщений об ошибках.
- В отличие от <function>gettype</function>, она использует канонические имена типов, возвращает имена классов объектов
+ В отличие от <function>gettype</function>, она использует канонические имена типов, возвращает имена классов объектов
и сообщает о типе ресурсов.
<!-- RFC: https://wiki.php.net/rfc/get_debug_type -->
</para>
@@ -438,23 +439,23 @@
</listitem>
<listitem>
<para>
- <function>printf</function> и ее производные теперь поддерживают спецификаторы формата <literal>%h</literal> и
+ <function>printf</function> и ее производные теперь поддерживают спецификаторы формата <literal>%h</literal> и
<literal>%H</literal>. Они работают как <literal>%g</literal> и
- <literal>%G</literal>, но всегда используют <literal>"."</literal> в качестве десятичного разделителя, а не
+ <literal>%G</literal>, но всегда используют <literal>"."</literal> в качестве десятичного разделителя, а не
определяют его с помощью локали <constant>LC_NUMERIC</constant>.
</para>
</listitem>
<listitem>
<para>
- <function>printf</function> и ее производные теперь поддерживают использование <literal>"*"</literal> в качестве ширины
- или точности, и в этом случае ширина/точность передается в качестве аргумента printf. Это также позволяет
+ <function>printf</function> и ее производные теперь поддерживают использование <literal>"*"</literal> в качестве ширины
+ или точности, и в этом случае ширина/точность передается в качестве аргумента printf. Это также позволяет
использовать точность <literal>-1</literal> с <literal>%g</literal>, <literal>%G</literal>,
- <literal>%h</literal> и <literal>%H</literal>. Например, следующий код можно использовать для
+ <literal>%h</literal> и <literal>%H</literal>. Например, следующий код можно использовать для
воспроизведения форматирования с плавающей запятой по умолчанию PHP:
</para>
<para>
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
printf("%.*H", (int) ini_get("precision"), $float);
printf("%.*H", (int) ini_get("serialize_precision"), $float);
@@ -465,13 +466,13 @@
</listitem>
<listitem>
<para>
- <function>proc_open</function> теперь поддерживает дескрипторы псевдотерминала (PTY). Следующий код
- присоединяет <literal>stdin</literal>, <literal>stdout</literal> и <literal>stderr</literal>
+ <function>proc_open</function> теперь поддерживает дескрипторы псевдотерминала (PTY). Следующий код
+ присоединяет <literal>stdin</literal>, <literal>stdout</literal> и <literal>stderr</literal>
к одному и тому же PTY:
</para>
<para>
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
$proc = proc_open($command, [['pty'], ['pty'], ['pty']], $pipes);
?>
@@ -481,13 +482,13 @@
</listitem>
<listitem>
<para>
- <function>proc_open</function> теперь поддерживает дескрипторы пары сокетов. Следующий код
+ <function>proc_open</function> теперь поддерживает дескрипторы пары сокетов. Следующий код
присоединяет отдельную пару сокетов к <literal>stdin</literal>, <literal>stdout</literal> и
<literal>stderr</literal>:
</para>
<para>
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
$proc = proc_open($command, [['socket'], ['socket'], ['socket']], $pipes);
?>
@@ -495,13 +496,13 @@
</programlisting>
</para>
<para>
- В отличие от каналов, у сокетов нет проблем с блокировкой ввода-вывода в Windows. Однако не все
+ В отличие от каналов, у сокетов нет проблем с блокировкой ввода-вывода в Windows. Однако не все
программы могут корректно работать с сокетами stdio.
</para>
</listitem>
<listitem>
<para>
- Функции сортировки теперь используют устойчивую сортировку, это означает, что сравниваемые элементы сохранят
+ Функции сортировки теперь используют устойчивую сортировку, это означает, что сравниваемые элементы сохранят
исходный порядок.
<!-- RFC: https://wiki.php.net/rfc/stable_sorting -->
</para>
@@ -508,12 +509,12 @@
</listitem>
<listitem>
<para>
- <function>array_diff</function>, <function>array_intersect</function> и их производные
+ <function>array_diff</function>, <function>array_intersect</function> и их производные
теперь могут использоваться с одним массивом в качестве аргумента. Это означает, что теперь возможно следующее:
</para>
<para>
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
// Работает, даже если $excludes пуст:
array_diff($array, ...$excludes);
@@ -526,7 +527,7 @@
</listitem>
<listitem>
<para>
- Параметр <parameter>flag</parameter> в функции <function>ob_implicit_flush</function> был изменен,
+ Параметр <parameter>flag</parameter> в функции <function>ob_implicit_flush</function> был изменен,
и теперь принимает логическое значение (<type>bool</type>), а не целое число (<type>int</type>).
</para>
</listitem>
@@ -537,7 +538,7 @@
<title>Лексер (Tokenizer)</title>
<para>
- <classname>PhpToken</classname> добавляет объектно-ориентированный интерфейс к PHP-лексеру (tokenizer). Он обеспечивает
+ <classname>PhpToken</classname> добавляет объектно-ориентированный интерфейс к PHP-лексеру (tokenizer). Он обеспечивает
более единообразное и эргономичное представление, в то же время эффективнее и быстрее.
<!-- RFC: https://wiki.php.net/rfc/token_as_object -->
</para>
@@ -575,35 +576,35 @@
</listitem>
<listitem>
<para>
- Новый метод <methodname>ZipArchive::isCompressionMethodSupported</methodname>, чтобы проверить дополнительные
+ Новый метод <methodname>ZipArchive::isCompressionMethodSupported</methodname>, чтобы проверить дополнительные
возможности сжатия.
</para>
</listitem>
<listitem>
<para>
- Новый метод <methodname>ZipArchive::isEncryptionMethodSupported</methodname>, чтобы проверить дополнительные
+ Новый метод <methodname>ZipArchive::isEncryptionMethodSupported</methodname>, чтобы проверить дополнительные
функции шифрования.
</para>
</listitem>
<listitem>
<para>
- Добавлено свойство <varname>ZipArchive::lastId</varname> для получения значения индекса
+ Добавлено свойство <varname>ZipArchive::lastId</varname> для получения значения индекса
последней добавленной записи.
</para>
</listitem>
<listitem>
<para>
- Теперь ошибки можно проверить после закрытия и с помощью свойств
+ Теперь ошибки можно проверить после закрытия и с помощью свойств
<varname>ZipArchive::status</varname> и
- <varname>ZipArchive::statusSys</varname> или метода
+ <varname>ZipArchive::statusSys</varname> или метода
<methodname>ZipArchive::getStatusString</methodname>.
</para>
</listitem>
<listitem>
<para>
- Параметр <literal>'remove_path'</literal> в <methodname>ZipArchive::addGlob</methodname> и
- <methodname>ZipArchive::addPattern</methodname> теперь обрабатывается как произвольный строковый префикс (для
- согласованности с <literal>'add_path'</literal>), тогда как раньше он интерпретировался как
+ Параметр <literal>'remove_path'</literal> в <methodname>ZipArchive::addGlob</methodname> и
+ <methodname>ZipArchive::addPattern</methodname> теперь обрабатывается как произвольный строковый префикс (для
+ согласованности с <literal>'add_path'</literal>), тогда как раньше он интерпретировался как
имя каталога.
</para>
</listitem>