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>