com doc/ru: Обновлен ие до англи йской верси и: appendices/migration80/incompatible.xml lan guage/operators.xml
reference/json/functions/json-encode. xml reference/sockets/constants.xml

From: Date: Fri, 19 Feb 2021 10:07:27 +0000
Subject: com doc/ru: Обновлен ие до англи йской верси и: appendices/migration80/incompatible.xml lan guage/operators.xml
reference/json/functions/json-encode. xml reference/sockets/constants.xml
Groups: php.doc.ru 
Request: Send a blank email to doc-ru+get-8810@lists.php.net to get a copy of this message
Commit: f56d8a0d55221adf436f31869ad3353cb84b6896 Author: Sergey Panteleev <sergey@php.net> Fri, 19 Feb 2021 13:07:27 +0300 Parents: 23625625fe6a9f6172ab289e054b2eacb004b66f Branches: master Link: http://git.php.net/?p=doc/ru.git;a=commitdiff;h=f56d8a0d55221adf436f31869ad3353cb84b6896 Log: Обновление до английской версии Changed paths: M appendices/migration80/incompatible.xml M language/operators.xml M reference/json/functions/json-encode.xml M reference/sockets/constants.xml

diff --git a/appendices/migration80/incompatible.xml b/appendices/migration80/incompatible.xml index ec0714133..03702866b 100644 --- a/appendices/migration80/incompatible.xml +++ b/appendices/migration80/incompatible.xml @@ -1,8 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: c31630ca23d219c758a8b580e1d583103e97e377 Maintainer: sergey Status: ready --> +<!-- EN-Revision: 12b1d4704ea448b55ec155619be1e50c0e67e9f9 Maintainer: sergey Status: ready --> <!-- Reviewed: no --> - <sect1 xml:id="migration80.incompatible" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Изменения, ломающие обратную совместимость</title> @@ -202,7 +201,7 @@ // Замените это function my_error_handler($err_no, $err_msg, $filename, $linenum) { if (error_reporting() == 0) { - return; // Ошибка проигнорирована + return false; // Ошибка проигнорирована } // ... } @@ -210,7 +209,7 @@ function my_error_handler($err_no, $err_msg, $filename, $linenum) { // На это function my_error_handler($err_no, $err_msg, $filename, $linenum) { if (!(error_reporting() & $err_no)) { - return; // Ошибка проигнорирована + return false; // Ошибка проигнорирована } // ... } @@ -1663,7 +1662,6 @@ echo file_get_contents('http://example.org', false, $ctx); </para> </sect2> </sect1> - <!-- Keep this comment at the end of the file Local variables: mode: sgml diff --git a/language/operators.xml b/language/operators.xml index f868ced2d..e119a8305 100644 --- a/language/operators.xml +++ b/language/operators.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 783fbc2001b129f5f8956937e15e253969b8765c Maintainer: shein Status: ready --> +<!-- EN-Revision: 12b1d4704ea448b55ec155619be1e50c0e67e9f9 Maintainer: shein Status: ready --> <!-- $Revision$ --> <!-- Reviewed: yes --> <chapter xml:id="language.operators" xmlns="http://docbook.org/ns/docbook"> @@ -623,10 +623,10 @@ Parse error: syntax error, unexpected 'new' (T_NEW) in … <entry>Модуль</entry> </row> <row> - <entry>$a **= $b</entry> - <entry>$a = $a ** $b</entry> - <entry>Возведение в степень</entry> - </row> + <entry>$a **= $b</entry> + <entry>$a = $a ** $b</entry> + <entry>Возведение в степень</entry> + </row> </tbody> </tgroup> </informaltable> @@ -1761,10 +1761,10 @@ echo ((true ? 'true' : false) ? 't' : 'f'); // второго тернарного выражения. ?> ]]> - </programlisting> - </example> - </para> - </note> + </programlisting> + </example> + </para> + </note> </sect2> <sect2 xml:id="language.operators.comparison.coalesce"> <title>Оператор объединения с null</title> @@ -1823,27 +1823,51 @@ echo $foo ?? $bar ?? $baz ?? $qux; // выведет 1 ?> ]]> - </programlisting> - </example> - </para> - </note> + </programlisting> + </example> + </para> + </note> </sect2> </sect1> <sect1 xml:id="language.operators.errorcontrol"> <title>Оператор управления ошибками</title> <simpara> - PHP поддерживает один оператор управления ошибками: знак @. + PHP поддерживает один оператор управления ошибками: знак <literal>@</literal>. В случае, если он предшествует какому-либо выражению в PHP-коде, любые - сообщения об ошибках, генерируемые этим выражением, будут проигнорированы. - </simpara> - <simpara> - Если вы установили собственную функцию обработки ошибок с помощью - <function>set_error_handler</function>, то она всё равно будет вызвана, - однако, если внутри этой функции будет вызвана функция - <function>error_reporting</function>, то она вернёт 0, если функция, - вызвавшая данную ошибку, была подавлена с помощью @. + сообщения об ошибках, генерируемые этим выражением, будут подавлены. </simpara> + <para> + Если пользовательская функция обработчика ошибок установлена с помощью + <function>set_error_handler</function>, она всё равно будет вызываться, + даже если диагностика была подавлена, поэтому пользовательский обработчик ошибок + должен вызвать <function>error_reporting</function> и убедиться, + что оператор <literal>@</literal> использовался следующим образом: + + <informalexample> + <programlisting role="php"> +<![CDATA[ +<?php +function my_error_handler($err_no, $err_msg, $filename, $linenum) { + if (!(error_reporting() & $err_no)) { + return false; // Ошибка проигнорирована + } + // ... +} +?> +]]> + </programlisting> + </informalexample> + </para> + + <warning> + <para> + До PHP 8.0.0 значение серьёзности, передаваемое пользовательскому + обработчику ошибок, всегда было <literal>0</literal>, если диагностика подавлялась. + Начиная с PHP 8.0.0, это больше не так. + </para> + </warning> + <simpara> Любое сообщение об ошибке, сгенерированное выражением, доступно в элементе массива <literal>"message"</literal>, возвращаемого <function>error_get_last</function>. @@ -1869,24 +1893,22 @@ $value = @$cache[$key]; </para> <note> <simpara> - Оператор @ работает только с + Оператор <literal>@</literal> работает только с <link linkend="language.expressions">выражениями</link>. Есть простое правило: если что-то возвращает значение, значит вы можете использовать перед ним оператор - @. Например, вы можете использовать @ перед - именем переменной, произвольной функцией или вызовом <function>include</function>, - константой и так далее. В то же время вы не можете использовать этот оператор + <literal>@</literal>. Например, вы можете использовать <literal>@</literal> перед + именем переменной, произвольной функцией или вызовом <function>include</function> и так далее. В то же время вы не можете использовать этот оператор перед определением функции или класса, условными конструкциями, такими как <literal>if</literal>, &foreach; и т.д. </simpara> </note> <warning> <para> - На сегодняшний день оператор "@" подавляет вывод сообщений даже о критических - ошибках, прерывающих работу скрипта. Помимо всего прочего, это означает, что если вы - использовали "@" для подавления ошибок, возникающих при работе какой-либо - функции, в случае если она недоступна или написана неправильно, дальнейшая - работа скрипта будет остановлена без каких-либо уведомлений. + До PHP 8.0.0 оператор <literal>@</literal> мог подавлять критические ошибки, которые прерывали выполнение скрипта. + Например, добавление <literal>@</literal> к вызову несуществующей функции, + в случае, если она недоступна или написана неправильно, дальнейшая + работа скрипта приведёт к прерыванию выполнения скрипта без каких-либо уведомлений. </para> </warning> @@ -2062,9 +2084,9 @@ for ($n=0; $n<6; $n++) { } ?> ]]> - </programlisting> - &example.outputs; - <screen> + </programlisting> + &example.outputs; + <screen> <![CDATA[ == Буквы == X @@ -2087,12 +2109,12 @@ A12 A13 A14 ]]> - </screen> - </example> - </para> - <para> - Инкрементирование или декрементирование булевых переменных не приводит ни к какому результату. - </para> + </screen> + </example> + </para> + <para> + Инкрементирование или декрементирование булевых переменных не приводит ни к какому результату. + </para> </sect1> <sect1 xml:id="language.operators.logical"> @@ -2197,8 +2219,8 @@ bool(false) bool(false) bool(true) ]]> - </screen> - </example> + </screen> + </example> </sect1> <sect1 xml:id="language.operators.string"> @@ -2348,16 +2370,16 @@ array(3) { string(6) "cherry" } ]]> - </screen> - </para> - <para> - При сравнении элементы массива считаются идентичными, если совпадает - и ключ, и соответствующее ему значение. - </para> - <para> - <example> - <title>Сравнение массивов</title> - <programlisting role="php"> + </screen> + </para> + <para> + При сравнении элементы массива считаются идентичными, если совпадает + и ключ, и соответствующее ему значение. + </para> + <para> + <example> + <title>Сравнение массивов</title> + <programlisting role="php"> <![CDATA[ <?php $a = array("apple", "banana"); @@ -2369,17 +2391,17 @@ var_dump($a === $b); // bool(false) ]]> </programlisting> </example> - </para> + </para> - <sect2 role="seealso"> - &reftitle.seealso; - <para> - <simplelist> - <member><link linkend="language.types.array">Массивы</link></member> - <member><link linkend="ref.array">Функции для работы с массивами</link></member> - </simplelist> - </para> - </sect2> + <sect2 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><link linkend="language.types.array">Массивы</link></member> + <member><link linkend="ref.array">Функции для работы с массивами</link></member> + </simplelist> + </para> + </sect2> </sect1> <sect1 xml:id="language.operators.type"> @@ -2413,15 +2435,15 @@ var_dump($a instanceof NotMyClass); bool(true) bool(false) ]]> - </screen> - </example> - </para> - <para> - Оператор <literal>instanceof</literal> также может быть использован - для определения, наследует ли определённый объект какому-либо классу: - <example> - <title>Использование <literal>instanceof</literal> с наследуемыми классами</title> - <programlisting role="php"> + </screen> + </example> + </para> + <para> + Оператор <literal>instanceof</literal> также может быть использован + для определения, наследует ли определённый объект какому-либо классу: + <example> + <title>Использование <literal>instanceof</literal> с наследуемыми классами</title> + <programlisting role="php"> <![CDATA[ <?php class ParentClass @@ -2445,17 +2467,17 @@ var_dump($a instanceof ParentClass); bool(true) bool(true) ]]> - </screen> - </example> - </para> - <para> - Для проверки <emphasis>непринадлежности</emphasis> объекта некоторому классу, - используйте <link linkend="language.operators.logical">логический оператор - <literal>not</literal></link>. - <example> - <title>Использование <literal>instanceof</literal> для проверки того, что объект - <emphasis>не</emphasis> является экземпляром класса</title> - <programlisting role="php"> + </screen> + </example> + </para> + <para> + Для проверки <emphasis>непринадлежности</emphasis> объекта некоторому классу, + используйте <link linkend="language.operators.logical">логический оператор + <literal>not</literal></link>. + <example> + <title>Использование <literal>instanceof</literal> для проверки того, что объект + <emphasis>не</emphasis> является экземпляром класса</title> + <programlisting role="php"> <![CDATA[ <?php class MyClass @@ -2472,16 +2494,16 @@ var_dump(!($a instanceof stdClass)); <![CDATA[ bool(true) ]]> - </screen> - </example> - </para> - <para> - Наконец, <literal>instanceof</literal> может быть также использован для проверки - реализации объектом некоторого <link - linkend="language.oop5.interfaces">интерфейса</link>: - <example> - <title>Использование <literal>instanceof</literal> с интерфейсами</title> - <programlisting role="php"> + </screen> + </example> + </para> + <para> + Наконец, <literal>instanceof</literal> может быть также использован для проверки + реализации объектом некоторого <link + linkend="language.oop5.interfaces">интерфейса</link>: + <example> + <title>Использование <literal>instanceof</literal> с интерфейсами</title> + <programlisting role="php"> <![CDATA[ <?php interface MyInterface @@ -2505,15 +2527,15 @@ var_dump($a instanceof MyInterface); bool(true) bool(true) ]]> - </screen> - </example> - </para> - <para> - Хотя <literal>instanceof</literal> обычно используется с прямо указанным именем класса, - он также может быть использован с другим объектом или строковой переменной: - <example> - <title>Использование <literal>instanceof</literal> с другими переменными</title> - <programlisting role="php"> + </screen> + </example> + </para> + <para> + Хотя <literal>instanceof</literal> обычно используется с прямо указанным именем класса, + он также может быть использован с другим объектом или строковой переменной: + <example> + <title>Использование <literal>instanceof</literal> с другими переменными</title> + <programlisting role="php"> <![CDATA[ <?php interface MyInterface @@ -2542,16 +2564,16 @@ bool(true) bool(true) bool(false) ]]> - </screen> - </example> - </para> - <para> - Оператор instanceof не генерирует никаких ошибок, если проверяемая переменная не - является объектом. В этом случае он просто возвращает &false;. Константы, тем не менее, - не допускались до PHP 7.3.0. - <example> - <title>Пример использования оператора <literal>instanceof</literal> для проверки других переменных</title> - <programlisting role="php"> + </screen> + </example> + </para> + <para> + Оператор instanceof не генерирует никаких ошибок, если проверяемая переменная не + является объектом. В этом случае он просто возвращает &false;. Константы, тем не менее, + не допускались до PHP 7.3.0. + <example> + <title>Пример использования оператора <literal>instanceof</literal> для проверки других переменных</title> + <programlisting role="php"> <![CDATA[ <?php $a = 1; @@ -2572,14 +2594,14 @@ bool(false) bool(false) PHP Fatal error: instanceof expects an object instance, constant given ]]> - </screen> - </example> - </para> - <para> - Начиная с PHP 7.3.0, константы разрешены в левой части оператора <literal>instanceof</literal>. - <example> - <title>Использование <literal>instanceof</literal> для проверки констант</title> - <programlisting role="php"> + </screen> + </example> + </para> + <para> + Начиная с PHP 7.3.0, константы разрешены в левой части оператора <literal>instanceof</literal>. + <example> + <title>Использование <literal>instanceof</literal> для проверки констант</title> + <programlisting role="php"> <![CDATA[ <?php var_dump(FALSE instanceof stdClass); @@ -2591,23 +2613,23 @@ var_dump(FALSE instanceof stdClass); <![CDATA[ bool(false) ]]> - </screen> - </example> - </para> + </screen> + </example> + </para> - <simpara> - Оператор <literal>instanceof</literal> аналогичен функции <function>is_a</function>. - </simpara> + <simpara> + Оператор <literal>instanceof</literal> аналогичен функции <function>is_a</function>. + </simpara> - <sect2 role="seealso"> - &reftitle.seealso; - <para> - <simplelist> - <member><function>get_class</function></member> - <member><function>is_a</function></member> - </simplelist> - </para> - </sect2> + <sect2 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>get_class</function></member> + <member><function>is_a</function></member> + </simplelist> + </para> + </sect2> </sect1> </chapter> diff --git a/reference/json/functions/json-encode.xml b/reference/json/functions/json-encode.xml index 3f90c1870..dbc4751e7 100644 --- a/reference/json/functions/json-encode.xml +++ b/reference/json/functions/json-encode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 9e3b30232be09c56bd18a766b2041da254ef95f0 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: d446e9e831e436a072cb967dff22287e0132661c Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes --> <!-- $Revision$ --> <refentry xml:id="function.json-encode" xmlns="http://docbook.org/ns/docbook"> diff --git a/reference/sockets/constants.xml b/reference/sockets/constants.xml index 15a04f621..32782dcf6 100644 --- a/reference/sockets/constants.xml +++ b/reference/sockets/constants.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 86e6094e86b84a51d00ab217ac50ce8dde33d82a Maintainer: countzero Status: ready --> +<!-- EN-Revision: 07b6d42577304b43e23bc9a75562eb52d51e3914 Maintainer: countzero Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <!-- $Revision$ --> <appendix xml:id="sockets.constants" xmlns="http://docbook.org/ns/docbook"> @@ -1767,10 +1767,31 @@ </simpara> </listitem> </varlistentry> + <varlistentry xml:id="constant.socket-scmrights"> + <term> + <constant>SCM_RIGHTS</constant> + (<type>int</type>) + </term> + <listitem> + <simpara> + Отправить или получить набор дескрипторов открытых файлов из другого процесса. + </simpara> + </listitem> + </varlistentry> + <varlistentry xml:id="constant.socket-credentials"> + <term> + <constant>SCM_CREDENTIALS</constant> + (<type>int</type>) + </term> + <listitem> + <simpara> + + </simpara> + </listitem> + </varlistentry> </variablelist> </appendix> - <!-- Keep this comment at the end of the file Local variables: mode: sgml
« previous php.doc.ru (#8810) next »