svn: /phpdoc/ja/trunk/language/ functions.xml

[email protected] (Yoshinari Takaoka)
Newsgroups php.doc.ja
Message-ID <[email protected]>
mumumu                                   Sat, 05 Dec 2020 13:39:27 +0000

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

Log:
Document named arguments

Closes GH-251

Changed paths:
    U   phpdoc/ja/trunk/language/functions.xml

Modified: phpdoc/ja/trunk/language/functions.xml
===================================================================
--- phpdoc/ja/trunk/language/functions.xml	2020-12-05 11:51:44 UTC (rev 351901)
+++ phpdoc/ja/trunk/language/functions.xml	2020-12-05 13:39:27 UTC (rev 351902)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 351885 Maintainer: takagi Status: working -->
+<!-- EN-Revision: 351885 Maintainer: takagi Status: ready -->
 <!-- CREDITS: hirokawa,mumumu -->
  <chapter xml:id="language.functions" xmlns="http://docbook.org/ns/docbook">
   <title>関数</title>
@@ -231,23 +231,23 @@
     </programlisting>
    </example>
    <para>
-    As of PHP 8.0.0, passing optional arguments after mandatory arguments
-    is deprecated. This can generally be resolved by dropping the default value.
-    One exception to this rule are arguments of the form
-    <code>Type $param = null</code>, where the &null; default makes the type implicitly
-    nullable. This usage remains allowed, though it is recommended to use an
-    explicit nullable type instead.
+    PHP 8.0.0 以降では、オプションの引数の後に、必須の引数を続けることは、
+    推奨されなくなります。
+    一般的には、デフォルト値を削除することで解決できます。
+    このルールの唯一の例外は、<code>Type $param = null</code> と書かれた引数です。
+    null をデフォルトにすることは、型が暗黙のうちに nullable であることを示しています。
+    この書き方はまだ許可されていますが、明示的に nullable 型を使うことを推奨します。
    </para>
    <example>
-    <title>Passing optional arguments after mandatory arguments</title>
+    <title>オプションの引数の後に、必須の引数を続ける</title>
     <programlisting role="php">
 <![CDATA[
 <?php
-function foo($a = [], $b) {} // Before
-function foo($a, $b) {}      // After
+function foo($a = [], $b) {} // PHP 8.0.0 より前
+function foo($a, $b) {}      // PHP 8.0.0 以後

-function bar(A $a = null, $b) {} // Still allowed
-function bar(?A $a, $b) {}       // Recommended
+function bar(A $a = null, $b) {} // PHP 8.0.0 でもまだ許可されています
+function bar(?A $a, $b) {}       // お勧めの書き方
 ?>
 ]]>
     </programlisting>
@@ -581,25 +581,23 @@
    </sect2>

    <sect2 xml:id="functions.named-arguments">
-    <title>Named Arguments</title>
+    <title>名前付き引数</title>

     <para>
-     PHP 8.0.0 introduced named arguments as an extension of the existing
-     positional parameters. Named arguments allow passing arguments to a
-     function based on the parameter name, rather than the parameter position.
-     This makes the meaning of the argument self-documenting, makes the
-     arguments order-independent and allows skipping default values arbitrarily.
+     既にある、位置を指定した引数を拡張する形で、PHP 8.0.0 から名前付き引数が導入されました。
+     名前付き引数は、位置ではなく、名前ベースで引数を渡すことを可能にします。
+     これによって、引数の意味が自己文書化(self-documenting)され、
+     引数を任意の順番で渡せるようになり、任意のデフォルト値を持つ引数をスキップできるようになります。
     </para>

     <para>
-     Named arguments are passed by prefixing the value with the parameter name
-     followed by a colon. Using reserved keywords as parameter names is allowed.
-     The parameter name must be an identifier, specifying dynamically
-     is not allowed.
+     名前付き引数は、引数の名前の後にコロンを付けたものを、値の前に付けることで指定します。
+     引数の名前にに予約語を使うことも許されています。
+     引数の名前は識別子でなければならず、動的に指定することは出来ません。
     </para>

     <example>
-     <title>Named argument syntax</title>
+     <title>名前付き引数の文法</title>
      <programlisting role="php">
       <![CDATA[
 <?php
@@ -606,7 +604,7 @@
 myFunction(paramName: $value);
 array_foobar(array: $value);

-// NOT supported.
+// 以下の書き方はサポートされていません
 function_name($variableStoringParamName: $value);
 ?>
 ]]>
@@ -614,14 +612,14 @@
     </example>

     <example>
-     <title>Positional arguments versus named arguments</title>
+     <title>位置を指定した引数と、名前付き引数</title>
      <programlisting role="php">
       <![CDATA[
 <?php
-// Using positional arguments:
+// 位置を指定した引数の場合:
 array_fill(0, 100, 50);

-// Using named arguments:
+// 名前付き引数の場合:
 array_fill(start_index: 0, num: 100, value: 50);
 ?>
 ]]>
@@ -629,11 +627,11 @@
     </example>

     <para>
-     The order in which the named arguments are passed does not matter.
+     名前付き引数は、渡す順番は関係ありません。
     </para>

     <example>
-     <title>Same example as above with a different order of parameters</title>
+     <title>上と同じ例を、引数の順番を変えて渡す</title>
      <programlisting role="php">
       <![CDATA[
 <?php
@@ -644,19 +642,19 @@
     </example>

     <para>
-     Named arguments can be combined with positional arguments. In this case,
-     the named arguments must come after the positional arguments.
-     It is also possible to specify only some of the optional arguments of a
-     function, regardless of their order.
+     名前付き引数は、位置を指定した引数と組み合わせることが出来ます。
+     そうした場合、名前付き引数は、位置を指定した引数の後に置かなければいけません。
+     オプションの引数だけをいくつか、指定することもできます。
+     その場合も、名前付き引数の順番は関係ありません。
     </para>

     <example>
-     <title>Combining named arguments with positional arguments</title>
+     <title>位置を指定した引数と、名前付き引数を組み合わせる</title>
      <programlisting role="php">
       <![CDATA[
 <?php
 htmlspecialchars($string, double_encode: false);
-// Same as
+// 上記は、以下と同等です。
 htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
 ?>
 ]]>
@@ -664,11 +662,11 @@
     </example>

     <para>
-     Passing the same parameter multiple times results in an Error exception.
+     同じ引数を複数回渡すと、Error 例外が発生します。
     </para>

     <example>
-     <title>Error exception when passing the same parameter multiple times</title>
+     <title>同じ引数を複数回渡すと、Error 例外が発生する</title>
      <programlisting role="php">
       <![CDATA[
 <?php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.