svn: /phpdoc/ru/trunk/ language/functions.xml reference/imagick/imagickpixel/getcolor.xml

[email protected] (Sergey Panteleev) Sat, 05 Dec 2020 17:38:21 +0000
Newsgroups php.doc.ru
Message-ID <[email protected]>
sergey                                   Sat, 05 Dec 2020 17:38:21 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=351907

Log:
docs(ru): Updated to English revision

Changed paths:
    U   phpdoc/ru/trunk/language/functions.xml
    U   phpdoc/ru/trunk/reference/imagick/imagickpixel/getcolor.xml
svn-diffs-351907.txt (text/x-diff, 10 KB)
Modified: phpdoc/ru/trunk/language/functions.xml
===================================================================
--- phpdoc/ru/trunk/language/functions.xml	2020-12-05 14:46:54 UTC (rev 351906)
+++ phpdoc/ru/trunk/language/functions.xml	2020-12-05 17:38:21 UTC (rev 351907)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 351733 Maintainer: sergey Status: ready -->
+<!-- EN-Revision: 351885 Maintainer: sergey Status: ready -->
 <!-- Reviewed: yes -->

 <chapter xml:id="language.functions" xmlns="http://docbook.org/ns/docbook">
@@ -230,6 +230,29 @@
 ]]>
     </programlisting>
   </example>
+  <para>
+   Начиная с PHP 8.0.0, передача необязательных аргументов после обязательных аргументов
+   устарела. Обычно это можно решить, отказавшись от значения по умолчанию.
+   Единственным исключением из этого правила являются аргументы формы
+   <code>Type $param = null</code>, где &null; по умолчанию делает тип неявно
+   допускающим значение null. Это использование остается разрешенным, хотя вместо этого рекомендуется использовать явный тип,
+   допускающий значение null.
+   </para>
+   <example>
+    <title>Передача необязательных аргументов после обязательных аргументов</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+function foo($a = [], $b) {} // Раньше
+function foo($a, $b) {}      // Теперь
+
+function bar(A $a = null, $b) {} // Все еще разрешено
+function bar(?A $a, $b) {}       // Рекомендуется
+?>
+]]>
+    </programlisting>
+   </example>
+
   <sect2 xml:id="functions.arguments.by-reference">
    <title>Передача аргументов по ссылке</title>

@@ -566,6 +589,111 @@
    </sect3>

   </sect2>
+
+  <sect2 xml:id="functions.named-arguments">
+    <title>Именованные аргументы</title>
+
+    <para>
+     В PHP 8.0.0 представлены именованные аргументы как расширение существующих
+     позиционных параметров. Именованные аргументы позволяют передавать аргументы
+     функции на основе имени параметра, а не позиции параметра.
+     Это делает значение аргумента самодокументированным, делает аргументы независимыми от
+     порядка и позволяет произвольно пропускать значения по умолчанию.
+    </para>
+
+    <para>
+     Именованные аргументы передаются с помощью префикса значения с именем параметра,
+     за которым следует двоеточие. Допускается использование зарезервированных ключевых слов в качестве имен параметров.
+     Имя параметра должно быть идентификатором, динамическое указание
+     не допускается.
+    </para>
+
+    <example>
+     <title>Синтаксис именованного аргумента</title>
+     <programlisting role="php">
+      <![CDATA[
+<?php
+myFunction(paramName: $value);
+array_foobar(array: $value);
+
+// НЕ поддерживается
+function_name($variableStoringParamName: $value);
+?>
+]]>
+     </programlisting>
+    </example>
+
+    <example>
+     <title>Позиционные аргументы против именованных аргументов</title>
+     <programlisting role="php">
+      <![CDATA[
+<?php
+// Использование позиционных аргументов:
+array_fill(0, 100, 50);
+
+// Использование именованных аргументов:
+array_fill(start_index: 0, num: 100, value: 50);
+?>
+]]>
+     </programlisting>
+    </example>
+
+    <para>
+     Порядок, в котором передаются названные аргументы, не имеет значения.
+    </para>
+
+    <example>
+     <title>Тот же пример, что и выше, с другим порядком параметров</title>
+     <programlisting role="php">
+      <![CDATA[
+<?php
+array_fill(value: 50, num: 100, start_index: 0);
+?>
+]]>
+     </programlisting>
+    </example>
+
+    <para>
+     Именованные аргументы можно комбинировать с позиционными аргументами. В этом случае
+     именованные аргументы должны идти после позиционных аргументов.
+     Также возможно указать только некоторые из необязательных аргументов
+     функции, независимо от их порядка.
+    </para>
+
+    <example>
+     <title>Объединение именованных аргументов с позиционными аргументами</title>
+     <programlisting role="php">
+      <![CDATA[
+<?php
+htmlspecialchars($string, double_encode: false);
+// То же самое
+htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
+?>
+]]>
+     </programlisting>
+    </example>
+
+    <para>
+     Передача одного и того же параметра несколько раз приводит к выбрасыванию исключения Error.
+    </para>
+
+    <example>
+     <title>Исключение Error при передаче одного и того же параметра несколько раз</title>
+     <programlisting role="php">
+      <![CDATA[
+<?php
+function foo($param) { ... }
+
+foo(param: 1, param: 2);
+// Error: Named parameter $param overwrites previous argument
+foo(1, param: 2);
+// Error: Named parameter $param overwrites previous argument
+?>
+]]>
+     </programlisting>
+    </example>
+
+   </sect2>
  </sect1>

  <sect1 xml:id="functions.returning-values">

Modified: phpdoc/ru/trunk/reference/imagick/imagickpixel/getcolor.xml
===================================================================
--- phpdoc/ru/trunk/reference/imagick/imagickpixel/getcolor.xml	2020-12-05 14:46:54 UTC (rev 351906)
+++ phpdoc/ru/trunk/reference/imagick/imagickpixel/getcolor.xml	2020-12-05 17:38:21 UTC (rev 351907)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 351855 Maintainer: alien Status: ready -->
+<!-- EN-Revision: 351875 Maintainer: alien Status: ready -->
 <!-- Reviewed: yes Maintainer: sergey -->
 <!-- $Revision$ -->
 <refentry xmlns="http://docbook.org/ns/docbook" xml:id="imagickpixel.getcolor">
@@ -28,8 +28,56 @@
      <term><parameter>normalized</parameter></term>
      <listitem>
       <para>
-       Нормализовать значение цвета
+       Нормализовать значение цвета. Возможные значения: <literal>0</literal>,
+       <literal>1</literal> или <literal>2</literal>.
       </para>
+
+      <table>
+       <title>
+        Список возможных значений для <parameter>normalized</parameter>
+       </title>
+       <tgroup cols="2">
+        <thead>
+         <row>
+          <entry><parameter>normalized</parameter></entry>
+          <entry>Описание</entry>
+         </row>
+        </thead>
+        <tbody>
+         <row>
+          <entry>
+           <constant>0</constant>
+          </entry>
+          <entry>
+           Значения RGB возвращаются как целые числа (<type>int</type>) в диапазоне от <literal>0</literal>
+           до <literal>255</literal> (включительно).
+           Альфа-значение возвращается как целое число (<type>int</type>)
+           и равно либо <literal>0</literal>, либо <literal>1</literal>.
+          </entry>
+         </row>
+         <row>
+          <entry>
+           <constant>1</constant>
+          </entry>
+          <entry>
+           Значения RGBA возвращаются как числа с плавающей запятой (<type>float</type>)
+           в диапазоне от <literal>0</literal>
+           до <literal>1</literal> (включительно).
+          </entry>
+         </row>
+         <row>
+          <entry>
+           <constant>2</constant>
+          </entry>
+          <entry>
+           Значения RGBA возвращаются как целые числа (<type>int</type>)
+           в диапазоне от <literal>0</literal>
+           до <literal>255</literal> (включительно).
+          </entry>
+         </row>
+        </tbody>
+       </tgroup>
+      </table>
      </listitem>
     </varlistentry>
    </variablelist>
@@ -39,9 +87,7 @@
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Массив значений канала. Каждое значение нормализуется, если параметру
-   будет передано &true;. В случае возникновения ошибки выбрасывает исключение
-   ImagickPixelException.
+   Массив значений канала. Выбрасывает исключение ImagickPixelException в случае возникновения ошибки.
   </para>
  </refsect1>

@@ -65,7 +111,7 @@
 echo "Стандартные значения" . PHP_EOL;
 print_r($colorInfo);

-$colorInfo = $color->getColor(true);
+$colorInfo = $color->getColor(1);

 echo "Нормализованные значения:" . PHP_EOL;
 print_r($colorInfo);