fujimoto                Thu Dec 27 10:10:05 2001 EDT

  Modified files:              
    /phpdoc/ja/language control-structures.xml 
  Log:
  updated translation.
  
  
Index: phpdoc/ja/language/control-structures.xml
diff -u phpdoc/ja/language/control-structures.xml:1.22 
phpdoc/ja/language/control-structures.xml:1.23
--- phpdoc/ja/language/control-structures.xml:1.22      Wed Dec 12 15:53:58 2001
+++ phpdoc/ja/language/control-structures.xml   Thu Dec 27 10:10:05 2001
@@ -21,16 +21,22 @@
     
PHPでは、次のようなC言語に似た<literal>if</literal>構文が使用されます。
     <informalexample>
      <programlisting>
+<![CDATA]
 if (式)
     文
+]]>
      </programlisting>
     </informalexample>
    </para>
    <simpara>
-    
式のセクションで記述したように式は論理値で評価されます。
+    <link linkend="language.expressions">式のセクション</link>で
+    
+記述したように<replaceable>式</replaceable>は論理値で評価されます。
     <replaceable>式</replaceable>が&true;と評価された場合、
-    PHPは文を実行します。&false;と評価された場合は、
-    これを無視します。
+    PHPは<replaceable>文</replaceable>を実行します。&false;
+    と評価された場合は、これを無視します。どのような値が
+    &false;と評価されるについては<link 
+    linkend="language.types.boolean.casting">論理値への変換</link>
+    を参照してください。
    </simpara>
    <para>
     以下の例は、<replaceable>$a</replaceable>が<replaceable>$b</replaceable>
@@ -38,8 +44,10 @@
     を表示します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 if ($a > $b)
     print "aはbより大きい";
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -54,10 +62,12 @@
     代入します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 if ($a > $b) {
     print "aはbより大きい";
     $b = $a;
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -85,11 +95,13 @@
     
<computeroutput>aはbよりも大きくない</computeroutput>と表示します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 if ($a > $b) {
     print "aはbよりも大きい";
 } else {
     print "aはbよりも大きくない";
 }
+]]>
      </programlisting>
     </informalexample>
     
@@ -117,6 +129,7 @@
     <computeroutput>aはbより小さい</computeroutput>を出力します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 if ($a > $b) {
     print "aはbより大きい";
 } elseif ($a == $b) {
@@ -124,6 +137,7 @@
 } else {
     print "aはbより小さい";
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -158,9 +172,11 @@
     別の構文の基本的な形式となります。
     <informalexample>
      <programlisting role="php">
- &lt;?php if ($a == 5): ?&gt;
- Aは5に等しい
- &lt;?php endif; ?&gt;
+<![CDATA[
+<?php if ($a == 5): ?>
+Aは5に等しい
+<?php endif; ?>
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -176,6 +192,7 @@
     および<literal>else</literal>と共に使用しています。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 if ($a == 5):
     print "aは5に等しい";
     print "...";
@@ -185,6 +202,7 @@
 else
     print "aは5でも6でもない";
 endif;
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -204,7 +222,9 @@
     <literal>while</literal>ループの基本形は次のようになります。
     <informalexample>
      <programlisting>
+<![CDATA[
 while (式) 文
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -224,18 +244,21 @@
     ループの中に複数の文をグループ化することができます。
     <informalexample>
      <programlisting>
+<![CDATA[
 while (式): 文 ... endwhile;
+]]>
      </programlisting>
     </informalexample>
    </para>
    <para>
     次の例は同じです。両方共、1から10までの数を出力します。
     <informalexample>
-     <programlisting>
+     <programlisting role="php">
+<![CDATA[
 /* 例 1 */
  
 $i = 1;
-while ($i &lt;= 10) {
+while ($i <= 10) {
     print $i++;  /* 出力される値は、足される前の
                     $iの値です。
                     (後置加算) */
@@ -244,10 +267,11 @@
 /* 例 2 */
  
 $i = 1;
-while ($i &lt;= 10):
+while ($i <= 10):
     print $i;
     $i++;
 endwhile;
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -270,10 +294,12 @@
  
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 $i = 0;
 do {
     print $i;
 } while ($i>0);
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -291,13 +317,14 @@
     
文を使用する方法です。次のコードは、この方法の例を示しています。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 do {
-    if ($i &lt; 5) {
+    if ($i < 5) {
         print "i は十分大きくはありません。";
         break;
     }
     $i *= $factor;
-    if ($i &lt; $minimum_limit) {
+    if ($i < $minimum_limit) {
         break;
     }
     print "iはOKです。";
@@ -305,6 +332,7 @@
     ...iを使った処理...
 
 } while(0);
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -324,7 +352,9 @@
     <literal>for</literal>ループの構文は、次のようになります。
     <informalexample>
      <programlisting>
+<![CDATA[
 for (式1; 式2; 式3) 文
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -354,16 +384,17 @@
     
次の例について考えてみましょう。以下の例は全て1~10までの数を表示します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 /* 例 1 */
  
-for ($i = 1; $i &lt;= 10; $i++) {
+for ($i = 1; $i <= 10; $i++) {
     print $i;
 }
  
 /* 例 2 */
  
 for ($i = 1;;$i++) {
-    if ($i &gt; 10) {
+    if ($i > 10) {
         break;
     }
     print $i;
@@ -373,7 +404,7 @@
  
 $i = 1;
 for (;;) {
-    if ($i &gt; 10) {
+    if ($i < 10) {
         break;
     }
     print $i;
@@ -382,7 +413,8 @@
  
 /* 例 4 */
 
-for ($i = 1; $i &lt;= 10; print $i, $i++) ;
+for ($i = 1; $i <= 10; print $i, $i++) ;
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -395,7 +427,9 @@
     
PHPは、<literal>for</literal>ループ用に"コロン構文"もサポートします。
     <informalexample>
      <programlisting>
+<![CDATA[
 for (式1; 式2; 式3): 文; ...; endfor;
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -422,8 +456,10 @@
     最初の構文の便利な拡張になっています。
     <informalexample>
      <programlisting>
-foreach(array_expression as $value) statement
-foreach(array_expression as $key =&gt; $value) statement
+<![CDATA[
+foreach(array_expression as $value) 文
+foreach(array_expression as $key => $value) 文
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -468,27 +504,31 @@
     既にご存知かと思いますが、以下の文は機能的に等価です。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 reset ($arr);
 while (list(, $value) = each ($arr)) {
-   echo "Value: $value&lt;br&gt;\n";
+    echo "Value: $value<br>\n";
 }
  
 foreach ($arr as $value) {
-   echo "Value: $value&lt;br&gt;\n";
+    echo "Value: $value<br>\n";
 }
+]]>
      </programlisting>
     </informalexample>
     以下の文も機能的に等価です。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 reset ($arr);
 while (list($key, $value) = each ($arr)) {
-   echo "Key: $key; Value: $value&lt;br&gt;\n";
+    echo "Key: $key; Value: $value<br>\n";
 }
  
-foreach ($arr as $key =&gt; $value) {
-   echo "Key: $key; Value: $value&lt;br&gt;\n";
+foreach ($arr as $key => $value) {
+    echo "Key: $key; Value: $value<br>\n";
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -496,6 +536,7 @@
     使用法を示すためにその他の例を示します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 /* foreach の例 1: 値のみ */
 
 $a = array (1, 2, 3, 17);
@@ -511,20 +552,20 @@
 $i = 0; /* 説明用 */
 
 foreach($a as $v) {
-   print "\$a[$i] =&gt; $v.\n";
+    print "\$a[$i] => $v.\n";
 }
  
 /* foreachの例3: キーと値 */
 
 $a = array(
-   "one" =&gt; 1,
-   "two" =&gt; 2,
-   "three" =&gt; 3,
-   "seventeen" =&gt; 17
+    "one" => 1,
+    "two" => 2,
+    "three" => 3,
+    "seventeen" => 17
 );
  
-foreach($a as $k =&gt; $v) {
-   print "\$a[$k] =&gt; $v.\n";
+foreach($a as $k => $v) {
+    print "\$a[$k] => $v.\n";
 }
 
 /* foreach の例4: 多次元配列 */
@@ -545,6 +586,7 @@
 foreach(array(1, 2, 3, 4, 5) as $v) {
     print "$v\n";
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -565,12 +607,13 @@
    <para>
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 $arr = array ('one', 'two', 'three', 'four', 'stop', 'five');
 while (list (, $val) = each ($arr)) {
    if ($val == 'stop') {
       break;    /* ここでは、'break 1;'と書くこともできる。 */
    }
-   echo "$val&lt;br>\n";
+   echo "$val<br>\n";
 }
 
 /* オプション引数を使用する。 */
@@ -578,15 +621,16 @@
 while (++$i) {
     switch ($i) {
     case 5:
-        echo "At 5&lt;br&gt;\n";
+        echo "At 5<br>\n";
         break 1;  /* switch構造のみを抜ける */
     case 10:
-        echo "At 10; quitting&lt;br&gt;\n";
+        echo "At 10; quitting<br>\n";
         break 2;  /* switchとwhileを抜ける */
     default:
         break;
     }
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -606,6 +650,7 @@
    <para>
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 while (list ($key,$value) = each ($arr)) {
     if (!($key % 2)) { // キーが偶数の組をスキップ
         continue;
@@ -614,18 +659,19 @@
 }
 
 $i = 0;
-while ($i++ &lt; 5) {
-    echo "Outer&lt;br&gt;\n";
+while ($i++ < 5) {
+    echo "Outer<br>\n";
     while (1) {
-        echo "&nbsp;&nbsp;Middle&lt;br&gt;\n";
+        echo "&nbsp;&nbsp;Middle<br>\n";
         while (1) {
-             echo "&nbsp;&nbsp;Inner&lt;br&gt;\n";
+             echo "&nbsp;&nbsp;Inner<br>\n";
              continue 3;
         }
-        echo "This never gets output.&lt;br&gt;\n";
+        echo "This never gets output.<br>\n";
     }
-    echo "Neither does this.&lt;br&gt;\n";
+    echo "Neither does this.<br>\n";
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -645,6 +691,7 @@
     文を使っています。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 if ($i == 0) {
    print "iは0に等しい";
 }
@@ -666,6 +713,7 @@
         print "iは2に等しい";
         break;
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -683,6 +731,7 @@
     次のCASE文を実行しつづけます。例えば、
      <informalexample>
       <programlisting role="php">
+<![CDATA[
 switch ($i) {
     case 0:
         print "iは0に等しい";
@@ -691,6 +740,7 @@
     case 2:
         print "iは2に等しい";
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -715,6 +765,7 @@
     この場合、次のcaseに付随する文に制御が移行します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 switch ($i) {
     case 0:
     case 1:
@@ -724,6 +775,7 @@
     case 3:
         print "iは3です";
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -733,6 +785,7 @@
     く必要があります。例を以下に示します。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 switch ($i) {
     case 0:
         print "iは0に等しい";
@@ -746,6 +799,7 @@
     default:
         print "iは0,1,2に等しくない";
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -762,6 +816,7 @@
   
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 switch ($i):
     case 0:
         print "iは0に等しい";
@@ -775,6 +830,7 @@
     default:
         print "iは0でも1でも2でもない";
 endswitch;
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -782,43 +838,103 @@
 
   <sect1 id="control-structures.declare">
    <title><literal>declare</literal></title>
-   <simpara>
-    <literal>declare</literal> 
命令は、あるコードブロックの中のパーサ
-    
の状態を一時的に変更するために使用されます。以下に例を示します。
-   </simpara>
    <para>
-    <informalexample>
+    <literal>declare</literal> 命令は、あるコードブロックの中に
+    
+実効命令をセットするために使用されます。<literal>declare</literal>
+    の文法は他の制御構造と似ています。
+    <infoexample>
+     <programlisting>
+<![CDATA[
+declare (命令) 文
+]]>
+     </programlisting>
+    </infoexample>
+   </para>
+   <para>
+    <literal>命令</literal>の箇所で、セットされた<literal>
+    declare</literal>ブロックの挙動を指定することが出来ます。
+    現在のところ、使用できる命令は<literal>ticks</literal>の
+    一つだけです。(<link linkend="control-structures.declare.ticks">
+    ticks</link>に関しては以下を参照してください)
+   </para>
+   <para>
+    <literal>declare</literal>ブロックの<literal>文</literal>
+    
+の実行のされ方や実行時にどのような作用が起こるかについては
+    <literal>命令</literal>に何が指定されたかに依存します。
+   </para>
+  <sect2 id="control-structures.declare.ticks">
+   <title>ticks</title>
+   <para>
+    tickとは<literal>declare</literal>ブロックの実行中にパーサが
+    <replaceable>N</replaceable>個の低レベル命令を実行するごとに
+    発生するイベントのことです。<replaceable>N</replaceable>の値は
+    <literal>declare</literal>ブロックの<literal>命令</literal>の箇所で
+    <literal>ticks=<replaceable>N</replaceable></literal>のように
+    指定します。
+   </para>
+   <para>
+    
+tickごとに発生させるイベントは<function>register_tick_function</function>
+    
+を使用して指定します。詳細は以下の例を参照してください。1回のtickで
+    複数のイベントが起こり得ることに注意してください。
+   </para>
+   <para>
+    <example>
+     <title>PHPのコードの一部をプロファイルする</title>
      <programlisting role="php">
-function tick()
+<![CDATA[
+<pre>
+<?php
+// 呼び出されるとその時間を記録する関数
+function profile ($dump = FALSE)
 {
-    static $i;
-    printf("[tick i=%d]\n", ++$i);
+    static $profile;
+
+    // 格納されたプロファイルを返し、その値を削除する
+    if ($dump) {
+        $temp = $profile;
+        unset ($profile);
+        return ($temp);
+    }
+
+    $profile[] = microtime ();
 }
 
-register_tick_function("tick");
+// tickハンドラの設定
+register_tick_function("profile");
+
+// declareブロックの前で初期化しておく
+profile ();
 
-declare (ticks = 2) {
-    1; 2; 3;
+// 2命令ごとにtickを投げるように設定しブロックを実行する
+declare (ticks=2) {
+    for ($x = 1; $x < 50; ++$x) {
+        echo similar_text (md5($x), md5($x*$x)), "<br>";
+    }
 }
+
+// プロファイラに格納されたデータを表示する
+print_r (profile (TRUE));
+?>
+</pre>
+]]>
      </programlisting>
-    </informalexample>
-    この例は、現在のパーサに実装されているパラメータ ticks 
を示してい
-    ます。tick は、パーサにより実行される<replaceable>N</replaceable>
-    個の低レベル命令毎に生じるイベントです。ただし、
-    <replaceable>N</replaceable>は、<literal>declare</literal>命令で指
-    定されます。上の例の出力は次のようになります。
-    <computeroutput>[tick i=1]
-[tick i=2]
-    </computeroutput>
+    </example>
+    この例では、'declare'ブロックのコード中で2個の低レベル
+    命令が実行されるごとにその時間を記録してプロファイルを
+    行っています。この情報はコードのあるセクションの中で
+    遅い箇所を探すのに使用できます。この処理は他の手法でも
+    使用できます。ticksを使用することで実装が簡単になる
+    場合が多々あるのです。
    </para>
    <simpara>
-    ticks 
は、PHPでバックグラウンドIOやその他の多くの処理といった、簡
-    単なマルチタスク処理を実装する際に便利です。
+    
+ticksはデバッグ、単純なマルチタスク処理、バックグラウンドI/Oや
+    その他多くの処理を実装するのに便利です。
    </simpara>
    <simpara>
-    <function>register_tick_function</function> および
-    <function>unregister_tick_function</function>も参照下さい。
+    <function>register_tick_function</function>と
+    <function>unregister_tick_function</function>も参照してください。
    </simpara>
+   </sect2>
   </sect1>
  
   <sect1 id="function.require">
@@ -872,7 +988,9 @@
     これを行うには、<literal>include</literal>文を使用して下さい。
      <informalexample>
       <programlisting role="php">
-require ('header.inc');
+<![CDATA[
+require ('header.php');
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -897,25 +1015,27 @@
     ルスクリプトに読み込まれます。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 /* この例は、someserverで .php 
を処理するように設定されており、.txt に
  * 
ついては設定されていないことを仮定しています。また、ここでの'動作す
  * る'という意味は、変数 
$varoneと$vartwoがrequire()で読み込まれたファ
  * イルで利用であることを意味します。*/
 
 /* 動作しない; file.txt は、someserverで処理されない。 */
-require ("http://someserver/file.txt?varone=1&amp;vartwo=2";);
+require ("http://someserver/file.txt?varone=1&vartwo=2";);
 
-/* 動作しない; 
ローカルファイルシステムの'file.php?varone=1&amp;vartwo=2'
+/* 動作しない; 
+ローカルファイルシステムの'file.php?varone=1&vartwo=2'
  *  という名前のファイルを探す。 */
-require ("file.php?varone=1&amp;vartwo=2");               
+require ("file.php?varone=1&vartwo=2");               
 
 /* 動作する。 */
-require ("http://someserver/file.php?varone=1&amp;vartwo=2";); 
+require ("http://someserver/file.php?varone=1&vartwo=2";); 
 
 $varone = 1;
 $vartwo = 2;
 require ("file.txt");  /* 動作する。 */
 require ("file.php");  /* 動作する。 */
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -962,10 +1082,12 @@
     <literal>include</literal>を使用することができます。
     <informalexample>
      <programlisting role="php">
-$files = array ('first.inc', 'second.inc', 'third.inc');
-for ($i = 0; $i &lt; count($files); $i++) {
+<![CDATA[
+$files = array ('first.php', 'second.php', 'third.php');
+for ($i = 0; $i < count($files); $i++) {
     include $files[$i];
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -982,6 +1104,7 @@
     
にある時には、命令ブロックとして括っておく必要があります。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 /* 以下は誤っており、希望通りに動作しません。 */
  
 if ($condition)
@@ -996,6 +1119,7 @@
 } else {
     include($other);
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -1015,26 +1139,30 @@
    <example>
     <title>PHP 3とPHP 4における<function>include</function></title>
     <para>
-     メインファイルと同じディレクトリに(<filename>test.inc</filename>
+     メインファイルと同じディレクトリに(<filename>test.php</filename>
      という名前の)以下のファイルが存在すると仮定します。
      <programlisting role="php">
-&lt;?php
-echo "Before the return &lt;br&gt;\n";
+<![CDATA[
+<?php
+echo "Before the return <br>\n";
 if (1) {
     return 27;
 }
-echo "After the return &lt;br&gt;\n";
-?&gt;
+echo "After the return <br>\n";
+?>
+]]>
      </programlisting>
     </para>
     <para>
      
メインファイル(<filename>main.html</filename>)に以下の文が含まれている
      仮定します。
      <programlisting role="php">
-&lt;?php
-$retval = include ('test.inc');
-echo "File returned: '$retval'&lt;br&gt;\n";
-?&gt;
+<![CDATA[
+<?php
+$retval = include ('test.php');
+echo "File returned: '$retval'<br>\n";
+?>
+]]>
      </programlisting>
     </para>
     <para>
@@ -1051,10 +1179,12 @@
      ここで、<filename>main.html</filename>を以下のように変えたと
      仮定しましょう。
      <programlisting role="php">
-&lt;?php
-include ('test.inc');
-echo "Back in main.html&lt;br&gt;\n";
-?&gt;
+<![CDATA[
+<?php
+include ('test.php');
+echo "Back in main.html<br>\n";
+?>
+]]>
      </programlisting>
     </para>
     <para>
@@ -1072,7 +1202,7 @@
      </screen>
     </para>
     <para>
-     上のパースエラーは、<filename>test.inc</filename>内で
+     上のパースエラーは、<filename>test.php</filename>内で
      <literal>return</literal>文が関数以外のブロックで括られている
      
ためです。returnをブロックの外に移動すると、出力は次のようになります。
      <screen>
@@ -1106,6 +1236,7 @@
     ルスクリプトに読み込まれます。
     <informalexample>
      <programlisting role="php">
+<![CDATA[
 /* この例は、someserverで .php 
を処理するように設定されており、.txt に
  * 
ついては設定されていないことを仮定しています。また、ここでの'動作す
  * る'という意味は、変数 
$varoneと$vartwoがinclude()で読み込まれたファ
@@ -1114,17 +1245,18 @@
 /* 動作せず; file.txt は someserverで処理されない。 */
 include ("http://someserver/file.txt?varone=1&amp;vartwo=2";);
 
-/* 動作せず; 
ローカルファイルシステムの'file.php?varone=1&amp;vartwo=2'
+/* 動作せず; ローカルファイルシステムの'file.php?varone=1&vartwo=2'
  * という名前のファイルを探す。 */
-include ("file.php?varone=1&amp;vartwo=2");               
+include ("file.php?varone=1&vartwo=2");               
 
 /* 動作する。 */
-include ("http://someserver/file.php?varone=1&amp;vartwo=2";); 
+include ("http://someserver/file.php?varone=1&vartwo=2";); 
 
 $varone = 1;
 $vartwo = 2;
 include ("file.txt");  /* 動作する。 */
 include ("file.php");  /* 動作する。 */
+]]>
      </programlisting>
     </informalexample>
    </para>
@@ -1147,26 +1279,29 @@
     は定義した関数の名前が壊されるのを回避します。
    </para>
    <para>
-    例えば、<literal>utils.inc</literal>と
-    
<literal>foolib.inc</literal>という2つのファイルを作成するとしましょ
+    例えば、<literal>utils.php</literal>と
+    
+<literal>foolib.php</literal>という2つのファイルを作成するとしましょ
     う。
     <example>
-     <title>utils.inc</title>
+     <title>utils.php</title>
      <programlisting role="php">
-&lt;?php
+<![CDATA[
+<?php
 define("PHPVERSION", floor(phpversion()));
 echo "GLOBALS ARE NICE\n";
 function goodTea() {
        return "Oolong tea tastes good!";
 }
-?&gt;
+?>
+]]>
      </programlisting>
     </example>
     <example>
-     <title>foolib.inc</title>
+     <title>foolib.php</title>
      <programlisting role="php">
-&lt;?php
-require ("utils.inc");
+<![CDATA[
+<?php
+require ("utils.php");
 function showVar($var) {
        if (PHPVERSION == 4) {
                print_r($var);
@@ -1176,7 +1311,8 @@
 }
 
 // 他の関数の定義 ...
-?&gt;
+?>
+]]>
      </programlisting>
     </example>
     そして、この後、スクリプト
@@ -1184,30 +1320,34 @@
     <example>
      <title>cause_error_require.php</title>
      <programlisting role="php">
-&lt;?php
-require("foolib.inc");
+<![CDATA[
+<?php
+require("foolib.php");
 /* 以下の処理は、エラーを発生します。 */
-require("utils.inc");
+require("utils.php");
 $foo = array("1",array("complex","quaternion"));
-echo "this is requiring utils.inc again which is also\n";
-echo "required in foolib.inc\n";
+echo "this is requiring utils.php again which is also\n";
+echo "required in foolib.php\n";
 echo "Running goodTea: ".goodTea()."\n";
 echo "Printing foo: \n";
 showVar($foo);
-?&gt;
+?>
+]]>
      </programlisting>
     </example>
     後の例を実行した場合、( PHP 
4.01pl2を用いた)結果の出力は次のように
     なります。
         <informalexample>
-        <programlisting>
+     <screen>
+<![CDATA[
 GLOBALS ARE NICE
 GLOBALS ARE NICE
 
-Fatal error:  Cannot redeclare goodTea() in utils.inc on line 5
-     </programlisting>
+Fatal error:  Cannot redeclare goodTea() in utils.php on line 5
+]]>
+</screen>
     </informalexample>
-    <literal>foolib.inc</literal>および
+    <literal>foolib.php</literal>および
     <literal>cause_errror_require.php</literal>を
     <function>require</function>の代わりに
     <function>require_once</function>を使用するように修正し、
@@ -1215,43 +1355,49 @@
     <literal>avoid_error_require_once.php</literal>に変更すると
     次のようになります。
     <example>
-     <title>foolib.inc (fixed)</title>
+     <title>foolib.php (修正済み)</title>
      <programlisting role="php">
+<![CDATA[
 ...
-require_once("utils.inc");
+require_once("utils.php");
 function showVar($var) {
 ...
+]]>
      </programlisting>
     </example>
     <example>
      <title>avoid_error_require_once.php</title>
      <programlisting role="php">
+<![CDATA[
 ...
-require_once("foolib.inc");
-require_once("utils.inc");
+require_once("foolib.php");
+require_once("utils.php");
 $foo = array("1",array("complex","quaternion"));
 ...
+]]>
      </programlisting>
     </example>
     これを実行すると、(PHP 
4.0.1pl2を用いた)出力は次のようになります。
     <informalexample>
-     <programlisting>
+    <screen>
+<![CDATA[
 GLOBALS ARE NICE
-this is requiring globals.inc again which is also
-required in foolib.inc
+this is requiring globals.php again which is also
+required in foolib.php
 Running goodTea: Oolong tea tastes good!
 Printing foo:
 Array
 (
-    [0] =&gt; 1
-    [1] =&gt; Array
+    [0] => 1
+    [1] => Array
         (
-            [0] =&gt; complex
-            [1] =&gt; quaternion
+            [0] => complex
+            [1] => quaternion
         )
 
 )
-     </programlisting>
+]]>
+     </screen>
     </informalexample>
    </para>
    <para>


Reply via email to