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">
- <?php if ($a == 5): ?>
- Aは5に等しい
- <?php endif; ?>
+<![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 <= 10) {
+while ($i <= 10) {
print $i++; /* 出力される値は、足される前の
$iの値です。
(後置加算) */
@@ -244,10 +267,11 @@
/* 例 2 */
$i = 1;
-while ($i <= 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 < 5) {
+ if ($i < 5) {
print "i は十分大きくはありません。";
break;
}
$i *= $factor;
- if ($i < $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 <= 10; $i++) {
+for ($i = 1; $i <= 10; $i++) {
print $i;
}
/* 例 2 */
for ($i = 1;;$i++) {
- if ($i > 10) {
+ if ($i > 10) {
break;
}
print $i;
@@ -373,7 +404,7 @@
$i = 1;
for (;;) {
- if ($i > 10) {
+ if ($i < 10) {
break;
}
print $i;
@@ -382,7 +413,8 @@
/* 例 4 */
-for ($i = 1; $i <= 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 => $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<br>\n";
+ echo "Value: $value<br>\n";
}
foreach ($arr as $value) {
- echo "Value: $value<br>\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<br>\n";
+ echo "Key: $key; Value: $value<br>\n";
}
-foreach ($arr as $key => $value) {
- echo "Key: $key; Value: $value<br>\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] => $v.\n";
+ print "\$a[$i] => $v.\n";
}
/* foreachの例3: キーと値 */
$a = array(
- "one" => 1,
- "two" => 2,
- "three" => 3,
- "seventeen" => 17
+ "one" => 1,
+ "two" => 2,
+ "three" => 3,
+ "seventeen" => 17
);
-foreach($a as $k => $v) {
- print "\$a[$k] => $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<br>\n";
+ echo "$val<br>\n";
}
/* オプション引数を使用する。 */
@@ -578,15 +621,16 @@
while (++$i) {
switch ($i) {
case 5:
- echo "At 5<br>\n";
+ echo "At 5<br>\n";
break 1; /* switch構造のみを抜ける */
case 10:
- echo "At 10; quitting<br>\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++ < 5) {
- echo "Outer<br>\n";
+while ($i++ < 5) {
+ echo "Outer<br>\n";
while (1) {
- echo " Middle<br>\n";
+ echo " Middle<br>\n";
while (1) {
- echo " Inner<br>\n";
+ echo " Inner<br>\n";
continue 3;
}
- echo "This never gets output.<br>\n";
+ echo "This never gets output.<br>\n";
}
- echo "Neither does this.<br>\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&vartwo=2");
+require ("http://someserver/file.txt?varone=1&vartwo=2");
-/* 動作しない;
ローカルファイルシステムの'file.php?varone=1&vartwo=2'
+/* 動作しない;
+ローカルファイルシステムの'file.php?varone=1&vartwo=2'
* という名前のファイルを探す。 */
-require ("file.php?varone=1&vartwo=2");
+require ("file.php?varone=1&vartwo=2");
/* 動作する。 */
-require ("http://someserver/file.php?varone=1&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 < 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">
-<?php
-echo "Before the return <br>\n";
+<![CDATA[
+<?php
+echo "Before the return <br>\n";
if (1) {
return 27;
}
-echo "After the return <br>\n";
-?>
+echo "After the return <br>\n";
+?>
+]]>
</programlisting>
</para>
<para>
メインファイル(<filename>main.html</filename>)に以下の文が含まれている
仮定します。
<programlisting role="php">
-<?php
-$retval = include ('test.inc');
-echo "File returned: '$retval'<br>\n";
-?>
+<![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">
-<?php
-include ('test.inc');
-echo "Back in main.html<br>\n";
-?>
+<![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&vartwo=2");
-/* 動作せず;
ローカルファイルシステムの'file.php?varone=1&vartwo=2'
+/* 動作せず; ローカルファイルシステムの'file.php?varone=1&vartwo=2'
* という名前のファイルを探す。 */
-include ("file.php?varone=1&vartwo=2");
+include ("file.php?varone=1&vartwo=2");
/* 動作する。 */
-include ("http://someserver/file.php?varone=1&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">
-<?php
+<![CDATA[
+<?php
define("PHPVERSION", floor(phpversion()));
echo "GLOBALS ARE NICE\n";
function goodTea() {
return "Oolong tea tastes good!";
}
-?>
+?>
+]]>
</programlisting>
</example>
<example>
- <title>foolib.inc</title>
+ <title>foolib.php</title>
<programlisting role="php">
-<?php
-require ("utils.inc");
+<![CDATA[
+<?php
+require ("utils.php");
function showVar($var) {
if (PHPVERSION == 4) {
print_r($var);
@@ -1176,7 +1311,8 @@
}
// 他の関数の定義 ...
-?>
+?>
+]]>
</programlisting>
</example>
そして、この後、スクリプト
@@ -1184,30 +1320,34 @@
<example>
<title>cause_error_require.php</title>
<programlisting role="php">
-<?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);
-?>
+?>
+]]>
</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] => 1
- [1] => Array
+ [0] => 1
+ [1] => Array
(
- [0] => complex
- [1] => quaternion
+ [0] => complex
+ [1] => quaternion
)
)
- </programlisting>
+]]>
+ </screen>
</informalexample>
</para>
<para>