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);