[PHPDOC] cvs: phpdoc /ja/appendices phpdevel.xml From: Rui Hirokawa (louis <email protected>)
Date: 06/25/00

hirokawa Sun Jun 25 06:59:39 2000 EDT

  Modified files:
    /phpdoc/ja/appendices phpdevel.xml
  Log:
  added some warings and some cosmetic changes.
  
Index: phpdoc/ja/appendices/phpdevel.xml
diff -u phpdoc/ja/appendices/phpdevel.xml:1.2 phpdoc/ja/appendices/phpdevel.xml:1.3
--- phpdoc/ja/appendices/phpdevel.xml:1.2 Sun Jun 25 04:44:47 2000
+++ phpdoc/ja/appendices/phpdevel.xml Sun Jun 25 06:59:39 2000
@@ -10,28 +10,30 @@
     <para>
      å…šãŠã®é–¢æ•°ã¯æ¬¡ã®ã‚ˆã†ãªåœ¢åŒã§ã™ã€‚
      <programlisting>
- void php3_foo(INTERNAL_FUNCTION_PARAMETERS) {
+void php3_foo(INTERNAL_FUNCTION_PARAMETERS) {
       
- }
+}
      </programlisting>
- 関数が匕数を取らない堎合でも、このような圢匏でコヌルされたす。</para></sect2>
-
+ 関数が匕数を取らない堎合でも、このような圢匏でコヌルされたす。
+ </para>
+ </sect2>
+
    <sect2 id="phpdevel-addfunc-args">
     <title>関数の匕数</title>
     <para>
- 匕数は垞に pval 型です。この型は、実際の匕数の型をメンバヌずする
- union を有しおいたす。
- 関数が二぀の匕数を取る堎合、関数の最初に次のような凊理を
- 行なうこずになりたす。</para>
-
+ 匕数は垞にpval型です。この型は、実際の匕数の型をメンバヌずする
+ unionを有しおいたす。
+ 関数が二぀の匕数を取る堎合、関数の最初に次のような凊理を
+ 行なうこずになりたす。
+ </para>
     <para>
      <example>
       <title>匕数の取埗</title>
       <programlisting>
- pval *arg1, *arg2;
- if (ARG_COUNT(ht) != 2 || getParameters(ht,2,&amp;arg1,&amp;arg2)==FAILURE) {
- WRONG_PARAM_COUNT;
- }
+pval *arg1, *arg2;
+if (ARG_COUNT(ht) != 2 || getParameters(ht,2,&amp;arg1,&amp;arg2)==FAILURE) {
+ WRONG_PARAM_COUNT;
+}
       </programlisting>
      </example>
      
@@ -42,46 +44,51 @@
         ã“の関数は、1 たたは 0 を返したす。</para>
      
     <simpara>
- 枡されたパラメヌタのどれかを倉曎する堎合、
- 参照枡しであるか、倀枡しであるかにかかわらず、
- pval_destructor をコヌルするこずにより初期化するか、
- ARRAY にパラメヌタを加えたい堎合には、
- 返り倀を ARRAY ずしお凊理する internal_functions.h
- の䞭の関数に類䌌の関数を䜿甚するこずが可胜です。</simpara>
-
- <simpara>
- たた、パラメヌタを IS_STRING に倉曎する堎合、
- estrdup() された文字列ず文字列の長さを最初に割り付けた埌で始めお
- 型を IS_STRING に倉曎するこずが可胜であるこずに泚意しお䞋さい。
- すでに IS_STRING たたは IS_ARRAY であるパラメヌタの文字列を
- 倉曎する堎合、最初に pval_destructor を実行する必芁がありたす。</simpara></sect2>
+ 枡されたパラメヌタのどれかを倉曎する堎合、
+ 参照枡しであるか、倀枡しであるかにかかわらず、
+ pval_destructor をコヌルするこずにより初期化するか、
+ ARRAY にパラメヌタを加えたい堎合には、
+ 返り倀を ARRAY ずしお凊理する internal_functions.h
+ の䞭の関数に類䌌の関数を䜿甚するこずが可胜です。
+ </simpara>
+ <simpara>
+ たた、パラメヌタを IS_STRING に倉曎する堎合、
+ estrdup() された文字列ず文字列の長さを最初に割り付けた埌で始めお
+ 型を IS_STRING に倉曎するこずが可胜であるこずに泚意しお䞋さい。
+ すでに IS_STRING たたは IS_ARRAY であるパラメヌタの文字列を
+ 倉曎する堎合、最初に pval_destructor を実行する必芁がありたす。
+ </simpara>
+ </sect2>
     
    <sect2 id="phpdevel-addfunc-varargs">
     <title>可倉匕数</title>
     <para>
- 関数は、可倉の数の匕数をずるこずができたす。
- ある関数が 2 ぀たたは 3 ぀の匕数のどちらかをずる堎合、
- 次のようにしおください。</para>
+ 関数は、可倉の数の匕数をずるこずができたす。
+ ある関数が 2 ぀たたは 3 ぀の匕数のどちらかをずる堎合、
+ 次のようにしおください。
+ </para>
      
     <para>
      <example>
       <title>可倉匕数</title>
       <programlisting>
- pval *arg1, *arg2, *arg3;
- int arg_count = ARG_COUNT(ht);
+pval *arg1, *arg2, *arg3;
+int arg_count = ARG_COUNT(ht);
  
- if (arg_count &lt; 2 || arg_count &gt; 3 ||
- getParameters(ht,arg_count,&amp;arg1,&amp;arg2,&amp;arg3)==FAILURE) {
- WRONG_PARAM_COUNT;
- }
- </programlisting>
- </example></para></sect2>
+if (arg_count &lt; 2 || arg_count &gt; 3 ||
+ getParameters(ht,arg_count,&amp;arg1,&amp;arg2,&amp;arg3)==FAILURE) {
+ WRONG_PARAM_COUNT;
+}
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
       
    <sect2 id="phpdevel-addfunc-using-args">
     <title>匕数の䜿甚</title>
     <para>
- 各匕数の型は pval 型フィヌルドに保存されたす。
- この型は、次のどれかずするこずができたす。
+ 各匕数の型は pval 型フィヌルドに保存されたす。
+ この型は、次のどれかずするこずができたす。
      
      <table>
       <title>PHP 内郚の型</title>
@@ -125,76 +132,92 @@
         </row>
        </tbody>
       </tgroup>
- </table></para>
-
+ </table>
+ </para>
     <para>
- ある型の匕数を埗たが、他の型で䜿甚したい堎合、たたは、
- その匕数を匷制的にある型で䜿甚したい堎合、
- 次の倉換関数のどれかを䜿甚するこずができたす。
-
- <programlisting>
- convert_to_long(arg1);
- convert_to_double(arg1);
- convert_to_string(arg1);
- convert_to_boolean_long(arg1); /* 文字列が "" たたは "0" の堎合 0、その他の堎合 1 になりたす */
- convert_string_to_number(arg1); /* 文字列に応じお倀を LONG たたは DOUBLE に倉曎したす */
- </programlisting></para>
+ ある型の匕数を埗たが、他の型で䜿甚したい堎合、たたは、
+ その匕数を匷制的にある型で䜿甚したい堎合、
+ 次の倉換関数のどれかを䜿甚するこずができたす。
      
+ <programlisting>
+convert_to_long(arg1);
+convert_to_double(arg1);
+convert_to_string(arg1);
+convert_to_boolean_long(arg1); /* 文字列が "" たたは "0" の堎合 0、その他の堎合 1 になりたす */
+convert_string_to_number(arg1); /* 文字列に応じお倀を LONG たたは DOUBLE に倉曎したす */
+ </programlisting>
+ </para>
     <simpara>
- これらの関数は、党おその堎で倉換されたす。
- 倀は党く返されたせん。</simpara>
+ これらの関数は、党おその堎で倉換されたす。
+ 倀は党く返されたせん。
+ </simpara>
  
     <para>
- 実匕数は、結合䜓に保持されたす。
- メンバヌは、次のようになりたす。
+ 実匕数は、結合䜓に保持されたす。
+ メンバヌは、次のようになりたす。
      <itemizedlist>
- <listitem><simpara>IS_STRING: arg1-&gt;value.str.val</simpara></listitem>
- <listitem><simpara>IS_LONG: arg1-&gt;value.lval</simpara></listitem>
- <listitem><simpara>IS_DOUBLE: arg1-&gt;value.dval</simpara></listitem>
- </itemizedlist></para></sect2>
+ <listitem>
+ <simpara>
+ IS_STRING: arg1-&gt;value.str.val
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ IS_LONG: arg1-&gt;value.lval
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ IS_DOUBLE: arg1-&gt;value.dval
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
      
    <sect2 id="phpdevel-addfunc-memmgmt">
     <title>関数におけるメモリヌ管理</title>
     <simpara>
- 関数により必芁ずされる党おのメモリヌは、
- emalloc() たたは estrdup() のどちらかにより
- 確保される必芁がありたす。これらの関数は、
- 通垞の malloc() および strdup() 関数に䌌た
- メモリヌ関連凊理を行う抜象関数です。
- メモリヌは、efree() により開攟される必芁がありたす。</simpara>
-
- <simpara>
- このプログラムには、2皮類のメモリヌがありたす。
- ぀たり、パヌサヌに倉数ずしお返されるメモリヌず
- 内郚関数での䞀次的な蚘憶領域甚に必芁なメモリヌです。
- 文字列をある倉数に代入しパヌサヌに返したい堎合、
- たず emalloc() たたは estrdup() のどちらかにより
- メモリヌを確保する必芁がありたす。
- このメモリヌは、同じ関数においお元の代入倀を䞊曞きしない限り
- 開攟するこずはできたせん。
- (この皮のプログラミング法は、掚奚されたせん。)</simpara>
-
- <simpara>
- 自分の関数・ラむブラリで必芁な䞀時的・氞続的メモリを確保するためには、
- emalloc()、estrdup()、efree() 関数を䜿甚する必芁がありたす。
- これらの関数は、それぞれが察応する関数 (malloc,strdup,free)
- ず党く同じ動䜜をしたす。
- emalloc() たたは estrdup() を実行した堎合、
- ただし、プログラム実行終了時たで確保し぀づける぀もりである堎合を陀き、
- どこかで efree() を行う必芁がありたす。
- さもなくば、メモリヌリヌクを起こす可胜性がありたす。
- 関数が察応するそれぞれが関数ず党く同じ動䜜をするずいう意味は
- 次のようなものです。
- ぀たり、emalloc() も estrdup() もされおいないメモリヌに぀いお efree()
- を行った堎合、セグメンテヌションフォルトを発生する可胜性がありたす。
- このため、消費したメモリヌを解攟する際には泚意しお䞋さい。</simpara>
-
- <simpara>
- "-DDEBUG" でコンパむルした堎合、PHP3 は、
- 指定したスクリプトの実行が終了した際に、
- emalloc() および estrdup()
- で確保したが efree() でただ開攟されおいない党メモリヌのリストを
- 衚瀺したす。</simpara></sect2>
+ 関数により必芁ずされる党おのメモリヌは、
+ emalloc() たたは estrdup() のどちらかにより
+ 確保される必芁がありたす。これらの関数は、
+ 通垞の malloc() および strdup() 関数に䌌た
+ メモリヌ関連凊理を行う抜象関数です。
+ メモリヌは、efree() により開攟される必芁がありたす。
+ </simpara>
+ <simpara>
+ このプログラムには、2皮類のメモリヌがありたす。
+ ぀たり、パヌサヌに倉数ずしお返されるメモリヌず
+ 内郚関数での䞀次的な蚘憶領域甚に必芁なメモリヌです。
+ 文字列をある倉数に代入しパヌサヌに返したい堎合、
+ たず emalloc() たたは estrdup() のどちらかにより
+ メモリヌを確保する必芁がありたす。
+ このメモリヌは、同じ関数においお元の代入倀を䞊曞きしない限り
+ 開攟するこずはできたせん。
+ (この皮のプログラミング法は、掚奚されたせん。)
+ </simpara>
+ <simpara>
+ 自分の関数・ラむブラリで必芁な䞀時的・氞続的メモリを確保するためには、
+ emalloc()、estrdup()、efree() 関数を䜿甚する必芁がありたす。
+ これらの関数は、それぞれが察応する関数 (malloc,strdup,free)
+ ず党く同じ動䜜をしたす。
+ emalloc() たたは estrdup() を実行した堎合、
+ ただし、プログラム実行終了時たで確保し぀づける぀もりである堎合を陀き、
+ どこかで efree() を行う必芁がありたす。
+ さもなくば、メモリヌリヌクを起こす可胜性がありたす。
+ 関数が察応するそれぞれが関数ず党く同じ動䜜をするずいう意味は
+ 次のようなものです。
+ ぀たり、emalloc() も estrdup() もされおいないメモリヌに぀いお efree()
+ を行った堎合、セグメンテヌションフォルトを発生する可胜性がありたす。
+ このため、消費したメモリヌを解攟する際には泚意しお䞋さい。
+ </simpara>
+ <simpara>
+ "-DDEBUG" でコンパむルした堎合、PHP3 は、指定したスクリプトの実行が
+ 終了した際に、emalloc() および estrdup()
+ で確保したが efree() でただ開攟されおいない党メモリヌのリストを
+ 衚瀺したす。
+ </simpara>
+ </sect2>
  
    <sect2 id="phpdevel-addfunc-symtab">
     <title>倉数のシンボルテヌブルぞの蚭定</title>
@@ -211,95 +234,93 @@
     <para>
      <footnote id="symtab-1">
       <simpara>
- これには、泚意を芁したす。
- value は、メモリ管理コヌドが埌にこのポむンタに぀いお free を
- 行おうずするため、手動で malloc を行う必芁がありたす。
- 静的に確保されたメモリヌを SET_VAR_STRING に枡しおはなりたせん。</simpara>
- </footnote></para>
-
- <simpara>
- PHP 3.0 のシンボルテヌブルは、ハッシュテヌブルずしお実装されおいたす。
- い぀なんどきでも &amp;symbol_table は 'main' シンボルテヌブルぞの
- ポむンタヌであり、active_symbol_table は珟圚アクティブな
- シンボルテヌブルを指しおいたす。
- (この二぀は実行開始時には同じですが、関数の䞭にいる時には異なっおいたす。)</simpara>
-
- <para>
- 次の䟋は 'active_symbol_table' を䜿甚したす。
- 'main' シンボルテヌブルを䜿甚したい堎合には、
- これを &amp;symbol_table で眮きかえる必芁がありたす。
- たた、以䞋に説明するように同じ関数を配列にも適甚するこずができたす。</para>
-
+ これには、泚意を芁したす。
+ value は、メモリ管理コヌドが埌にこのポむンタに぀いお free を
+ 行おうずするため、手動で malloc を行う必芁がありたす。
+ 静的に確保されたメモリヌを SET_VAR_STRING に枡しおはなりたせん。
+ </simpara>
+ </footnote>
+ </para>
+ <simpara>
+ PHP 3.0 のシンボルテヌブルは、ハッシュテヌブルずしお実装されおいたす。
+ い぀なんどきでも &amp;symbol_table は 'main' シンボルテヌブルぞの
+ ポむンタヌであり、active_symbol_table は珟圚アクティブな
+ シンボルテヌブルを指しおいたす。(この二぀は実行開始時には同じですが、
+ 関数の䞭にいる時には異なっおいたす。)
+ </simpara>
+ <para>
+ 次の䟋は 'active_symbol_table' を䜿甚したす。
+ 'main' シンボルテヌブルを䜿甚したい堎合には、
+ これを &amp;symbol_table で眮きかえる必芁がありたす。
+ たた、以䞋に説明するように同じ関数を配列にも適甚するこずができたす。
+ </para>
     <para>
      <example>
       <title>$foo がシンボルテヌブルに存圚するかどうかを調べる</title>
       <programlisting>
- if (hash_exists(active_symbol_table,"foo",sizeof("foo"))) { exists... }
- else { doesn't exist }
+if (hash_exists(active_symbol_table,"foo",sizeof("foo"))) { exists... }
+else { doesn't exist }
       </programlisting>
      </example>
-
      <example>
       <title>シンボルテヌブルにある倉数のサむズの調べ方</title>
       <programlisting>
- hash_find(active_symbol_table,"foo",sizeof("foo"),&amp;pvalue);
- check(pvalue.type);
+hash_find(active_symbol_table,"foo",sizeof("foo"),&amp;pvalue);
+check(pvalue.type);
       </programlisting>
      </example>
-
      PHP 3.0 における配列は、シンボルテヌブルず同じくハッシュテヌブル
      ã«ã‚ˆã‚Šå®Ÿè£…されおいたす。
      ã“のため、䞊蚘の二぀の関数は配列の内郚で倉数を確認するためにも
- 䜿甚可胜です。</para>
-
+ 䜿甚可胜です。
+ </para>
     <simpara>
- シンボルテヌブルに配列を新芏に定矩したい堎合、
- 次のようにする必芁がありたす。</simpara>
-
- <simpara>
- たず、hash_exists() たたは hash_find() を甚いお
- その配列の存圚や、適切に開攟されおいるかどうかを
- 確認する方が良いでしょう。</simpara>
-
+ シンボルテヌブルに配列を新芏に定矩したい堎合、
+ 次のようにする必芁がありたす。
+ </simpara>
+ <simpara>
+ たず、hash_exists() たたは hash_find() を甚いお
+ その配列の存圚や、適切に開攟されおいるかどうかを
+ 確認する方が良いでしょう。
+ </simpara>
     <simpara>
- 次に、その配列を次のように初期化したす。</simpara>
-
+ 次に、その配列を次のように初期化したす。
+ </simpara>
     <para>
      <example>
       <title>新芏の配列の初期化</title>
       <programlisting>
- pval arr;
+pval arr;
    
- if (array_init(&amp;arr) == FAILURE) { failed... };
- hash_update(active_symbol_table,"foo",sizeof("foo"),&amp;arr,sizeof(pval),NULL);
+if (array_init(&amp;arr) == FAILURE) { failed... };
+hash_update(active_symbol_table,"foo",sizeof("foo"),&amp;arr,sizeof(pval),NULL);
       </programlisting>
      </example>
-
      ã“のコヌドは、アクティブシンボルテヌブルにおいお新芏配列を宣蚀しおいたす。
- この配列は空です。</para>
-
+ この配列は空です。
+ </para>
     <simpara>
- 以䞋に新しい゚ントリをこの配列に加える䟋を瀺したす。</simpara>
-
+ 以䞋に新しい゚ントリをこの配列に加える䟋を瀺したす。
+ </simpara>
     <para>
      <example>
       <title>新芏配列に゚ントリを加える</title>
       <programlisting>
- pval entry;
+pval entry;
    
- entry.type = IS_LONG;
- entry.value.lval = 5;
+entry.type = IS_LONG;
+entry.value.lval = 5;
    
- /* $foo["bar"] = 5 を定矩する */
- hash_update(arr.value.ht,"bar",sizeof("bar"),&amp;entry,sizeof(pval),NULL);
+/* $foo["bar"] = 5 を定矩する */
+hash_update(arr.value.ht,"bar",sizeof("bar"),&amp;entry,sizeof(pval),NULL);
  
- /* $foo[7] = 5 を定矩する */
- hash_index_update(arr.value.ht,7,&amp;entry,sizeof(pval),NULL);
+/* $foo[7] = 5 を定矩する */
+hash_index_update(arr.value.ht,7,&amp;entry,sizeof(pval),NULL);
  
- /* $foo[] における次の空きメモリヌ、぀たり $foo[8] を 5 に定矩する
- * (php2 ず同様に動䜜したす)
- */
- hash_next_index_insert(arr.value.ht,&amp;entry,sizeof(pval),NULL);
+/* $foo[] における次の空きメモリヌ、぀たり $foo[8] を 5 に定矩する
+ * (php2 ず同様に動䜜したす)
+ */
+hash_next_index_insert(arr.value.ht,&amp;entry,sizeof(pval),NULL);
       </programlisting>
      </example>
       
@@ -310,67 +331,94 @@
       ãƒãƒƒã‚·ãƒ¥ã®å†…郚に挿入された芁玠のアドレスを瀺す
       pval * を甚いお曎新を行うこずができたす。
       (䞊蚘の党おの䟋のように)この倀が、NULL の堎合、このパラメヌタは
- 無芖されたす。</para>
-
+ 無芖されたす。
+ </para>
     <simpara>
      hash_next_index_insert() は、PHP 2.0 の "$foo[] = bar;"
- ずほが同じロゞックを甚いおいたす。</simpara>
-
+ ずほが同じロゞックを甚いおいたす。
+ </simpara>
     <simpara>
- 関数から配列を返す構成ずする堎合、
- 以䞋のようにするだけで配列の初期化を行うこずができたす。</simpara>
-
+ 関数から配列を返す構成ずする堎合、
+ 以䞋のようにするだけで配列の初期化を行うこずができたす。
+ </simpara>
     <programlisting>
- if (array_init(return_value) == FAILURE) { failed...; }
+if (array_init(return_value) == FAILURE) { failed...; }
     </programlisting>
-
     <simpara>
- 続いお、ヘルパヌ関数を甚いお倀を付加したす。</simpara>
+ 続いお、ヘルパヌ関数を甚いお倀を付加したす。
+ </simpara>
  
     <programlisting>
- add_next_index_long(return_value,long_value);
- add_next_index_double(return_value,double_value);
- add_next_index_string(return_value,estrdup(string_value));
+add_next_index_long(return_value,long_value);
+add_next_index_double(return_value,double_value);
+add_next_index_string(return_value,estrdup(string_value));
     </programlisting>
-
     <para>
- もちろん、付加が配列の初期化盎埌に行われない堎合には、
- 配列をたず確認する必芁があるこずでしょう。
-
+ もちろん、付加が配列の初期化盎埌に行われない堎合には、
+ 配列をたず確認する必芁があるこずでしょう。
      <programlisting>
- pval *arr;
+pval *arr;
    
- if (hash_find(active_symbol_table,"foo",sizeof("foo"),(void **)&amp;arr)==FAILURE) { can't find... }
- else { use arr-&gt;value.ht... }
- </programlisting></para>
-
+if (hash_find(active_symbol_table,"foo",sizeof("foo"),(void **)&amp;arr)==FAILURE) { can't find... }
+else { use arr-&gt;value.ht... }
+ </programlisting>
+ </para>
     <simpara>
      hash_find は pval ポむンタぞのポむンタを受け取り、
- pval ポむンタではないこずに泚意しお䞋さい。</simpara>
-
+ pval ポむンタではないこずに泚意しお䞋さい。
+ </simpara>
     <simpara>
- ほずんど党おのハッシュ関数は、SUCCESS たたは FAILURE を
- 返したす。
- (ただし、論理倀を返す hash_exists() を陀きたす。)</simpara></sect2>
-
+ ほずんど党おのハッシュ関数は、SUCCESSたたはFAILUREを返したす。
+ (ただし、論理倀を返す hash_exists() を陀きたす。)
+ </simpara>
+ </sect2>
+
    <sect2 id="phpdevel-addfunc-retsimple">
     <title>簡単な倀を返す堎合</title>
     <simpara>
- 関数からの返り倀を䜜成するこずを容易にするための
- 耇数のマクロが利甚可胜です。</simpara>
-
+ 関数からの返り倀を䜜成するこずを容易にするための
+ 耇数のマクロが利甚可胜です。
+ </simpara>
     <para>
      RETURN_* マクロは、党お返り倀をセットし関数から戻りたす。
      <itemizedlist>
- <listitem><simpara>RETURN</simpara></listitem>
- <listitem><simpara>RETURN_FALSE</simpara></listitem>
- <listitem><simpara>RETURN_TRUE</simpara></listitem>
- <listitem><simpara>RETURN_LONG(l)</simpara></listitem>
- <listitem><simpara>RETURN_STRING(s,dup) dup が TRUE の堎合、文字列をコピヌしたす。</simpara></listitem>
- <listitem><simpara>RETURN_STRINGL(s,l,dup) 指定された長さ (l) の文字列 (s) を返したす。</simpara></listitem>
- <listitem><simpara>RETURN_DOUBLE(d)</simpara></listitem>
- </itemizedlist></para>
-
+ <listitem>
+ <simpara>
+ RETURN
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ RETURN_FALSE
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ RETURN_TRUE
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ RETURN_LONG(l)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ RETURN_STRING(s,dup) dupがTRUEの堎合、文字列をコピヌしたす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ RETURN_STRINGL(s,l,dup) 指定された長さ(l)の文字列(s)を返したす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ RETURN_DOUBLE(d)
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
     <para>
      RETVAL_* マクロは返り倀をセットしたすが、関数から戻りたせん。
      <itemizedlist>
@@ -410,10 +458,12 @@
       (すなわち、.value.ht に通垞のハッシュ関数が䜿甚可胜です)
       å®Ÿéš›ã®é–¢æ•°ã®ç™»éŒ²ã¯ã€æ¬¡ã®ã‚ˆã†ã«ã—お実行できたす。
         <programlisting>
- add_method( return_value, function_name, function_ptr );
- </programlisting></para></listitem>
- </orderedlist></para>
-
+add_method( return_value, function_name, function_ptr );
+ </programlisting>
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
     <para>
     ã‚ªãƒ–ゞェクトを操䜜するための関数を以䞋に瀺したす。
      <itemizedlist>
@@ -462,74 +512,88 @@
     <title>リ゜ヌスリストの䜿甚法</title>
     <simpara>
      PHP 3.0 は様々な型のリ゜ヌスを凊理する暙準的な手段を有しおいたす。
- この手段は、PHP 2.0 のリンク付リストを完党に眮きかえるものです。</simpara>
-
+ この手段は、PHP 2.0 のリンク付リストを完党に眮きかえるものです。
+ </simpara>
     <para>
- 利甚可胜な関数:
+ 利甚可胜な関数:
  
      <itemizedlist>
- <listitem><simpara>php3_list_insert(ptr, type) - 新芏に挿入されたリ゜ヌスの
- 'id' を返したす。</simpara></listitem>
- <listitem><simpara>php3_list_delete(id) - id で指定されたリ゜ヌスを削陀したす。</simpara></listitem>
- <listitem><simpara>php3_list_find(id,*type)
- - 指定した id が指すリ゜ヌスぞのポむンタを返し、type にそのリ゜ヌスの
- 型を代入したす。</simpara></listitem>
+ <listitem>
+ <simpara>
+ php3_list_insert(ptr, type) - 新芏に挿入されたリ゜ヌスの
+ 'id' を返したす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ php3_list_delete(id) - id で指定されたリ゜ヌスを削陀したす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ php3_list_find(id,*type) - 指定した id が指すリ゜ヌスぞのポむンタを
+ 返し、type にそのリ゜ヌスの型を代入したす。
+ </simpara>
+ </listitem>
      </itemizedlist>
  
      é€šåžžã€ã“れらの関数は SQL ドラむバヌ甚に䜿甚されたすが、
      ãƒ•ァむル蚘述子の管理等の他の目的に
- 䜿甚するこずも可胜です。</para>
+ 䜿甚するこずも可胜です。
+ </para>
  
     <simpara>
- 兞型的なコヌドは、次のようになりたす。</simpara>
+ 兞型的なコヌドは、次のようになりたす。
+ </simpara>
      
     <para>
      <example>
       <title>新芏リ゜ヌスの远加</title>
       <programlisting>
- RESOURCE *resource;
+RESOURCE *resource;
  
- /* ...リ゜ヌス甚のメモリを確保し、リ゜ヌスを獲埗したす... */
- /* 新芏のリ゜ヌスをリストに远加したす */
- return_value-&gt;value.lval = php3_list_insert((void *) resource, LE_RESOURCE_TYPE);
- return_value-&gt;type = IS_LONG;
+/* ...リ゜ヌス甚のメモリを確保し、リ゜ヌスを獲埗したす... */
+/* 新芏のリ゜ヌスをリストに远加したす */
+return_value-&gt;value.lval = php3_list_insert((void *) resource, LE_RESOURCE_TYPE);
+return_value-&gt;type = IS_LONG;
       </programlisting>
      </example>
  
      <example>
       <title>既存のリ゜ヌスの䜿甚法</title>
       <programlisting>
- pval *resource_id;
- RESOURCE *resource;
- int type;
-
- convert_to_long(resource_id);
- resource = php3_list_find(resource_id-&gt;value.lval, &amp;type);
- if (type != LE_RESOURCE_TYPE) {
- php3_error(E_WARNING,"resource index %d has the wrong type",resource_id-&gt;value.lval);
- RETURN_FALSE;
- }
- /* ...リ゜ヌスを䜿甚したす... */
+pval *resource_id;
+RESOURCE *resource;
+int type;
+
+convert_to_long(resource_id);
+resource = php3_list_find(resource_id-&gt;value.lval, &amp;type);
+if (type != LE_RESOURCE_TYPE) {
+php3_error(E_WARNING,"resource index %d has the wrong type",resource_id-&gt;value.lval);
+ RETURN_FALSE;
+}
+/* ...リ゜ヌスを䜿甚したす... */
       </programlisting>
      </example>
  
      <example>
       <title>既存のリ゜ヌスの削陀</title>
       <programlisting>
- pval *resource_id;
- RESOURCE *resource;
- int type;
+pval *resource_id;
+RESOURCE *resource;
+int type;
  
- convert_to_long(resource_id);
- php3_list_delete(resource_id-&gt;value.lval);
+convert_to_long(resource_id);
+php3_list_delete(resource_id-&gt;value.lval);
       </programlisting>
      </example>
-
      ãƒªã‚œãƒŒã‚¹åž‹ã¯ php3_list.h の enum list_entry_type にお登録する必芁が
      ã‚りたす。加えお、党おの新芏リ゜ヌス型の定矩の際、
      list.c の list_entry_destructor() の䞭に shutdown 甚のコヌドを
      åŠ ãˆã‚‹å¿…èŠãŒã‚ã‚ŠãŸã™ã€‚(shutdown の䞭で䜕もする必芁がない堎合でも、
- 空のコヌドを加える必芁がありたす。)</para></sect2>
+ 空のコヌドを加える必芁がありたす。)
+ </para>
+ </sect2>
  
    <sect2 id="phpdevel-addfunc-prestable">
     <title>持続的リ゜ヌステヌブルの䜿甚</title>
@@ -541,143 +605,177 @@
      ã“のため、mysql.c を読むこずにより持続的リ゜ヌスの必芁性に関する
      äž€èˆ¬çš„な感芚を埗るこずができたす。
      èŠ‹ã‚‹å¿…èŠãŒã‚ã‚‹é–¢æ•°ã¯æ¬¡ã®ã‚ˆã†ãªã‚‚ã®ã§ã™ã€‚
-
- <simplelist>
+ <simplelist>
       <member>php3_mysql_do_connect</member>
       <member>php3_mysql_connect()</member>
       <member>php3_mysql_pconnect()</member>
- </simplelist></para>
-
- <para>
- 持続的モゞュヌルの䞀般的な考えは次のようなものです。
+ </simplelist>
+ </para>
+ <para>
+ 持続的モゞュヌルの䞀般的な考えは次のようなものです。
      <orderedlist numeration="arabic">
- <listitem><simpara>
- セクション (9) に蚘茉された暙準リ゜ヌスリストず共に
- 動䜜するモゞュヌル党䜓をコヌディングしたす。</simpara></listitem>
- <listitem><simpara>
- そのリ゜ヌスが持続的リ゜ヌスリストに既に存圚するかどうかを
- 確認する特別な接続関数をコヌディングしたす。
- この䜜業が完了しおいる堎合、暙準のリ゜ヌスリストに
- 持続的リ゜ヌスリストぞのポむンタずしおこの関数を登録したす。
- (1.項により、残りのコヌドは盎ちに動䜜するはずです。)
- 完了しおいない堎合、これを䜜成した埌、持続的リ゜ヌスリストに加え、
- 暙準リ゜ヌスリストにこの関数を指すポむンタを加えたす。
- この堎合、このポむンタが暙準リ゜ヌスリストにあるため、
- コヌド党䜓が動䜜したす。
- 次回接続した際には、そのリ゜ヌスが持続的リ゜ヌスリスト
- にあるため、再床䜜成されるこずなく䜿甚されたす。
- これらのリ゜ヌスは、別の型ずしお登録する必芁がありたす。
- (䟋えば、非持続的リンク甚に LE_MYSQL_LINK、
- 持続的リンク甚に LE_MYSQL_PLINK)</simpara></listitem>
- </orderedlist></para>
-
+ <listitem>
+ <simpara>
+ セクション (9) に蚘茉された暙準リ゜ヌスリストず共に
+ 動䜜するモゞュヌル党䜓をコヌディングしたす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ そのリ゜ヌスが持続的リ゜ヌスリストに既に存圚するかどうかを
+ 確認する特別な接続関数をコヌディングしたす。
+ この䜜業が完了しおいる堎合、暙準のリ゜ヌスリストに
+ 持続的リ゜ヌスリストぞのポむンタずしおこの関数を登録したす。
+ (1.項により、残りのコヌドは盎ちに動䜜するはずです。)
+ 完了しおいない堎合、これを䜜成した埌、持続的リ゜ヌスリストに加え、
+ 暙準リ゜ヌスリストにこの関数を指すポむンタを加えたす。
+ この堎合、このポむンタが暙準リ゜ヌスリストにあるため、
+ コヌド党䜓が動䜜したす。
+ 次回接続した際には、そのリ゜ヌスが持続的リ゜ヌスリスト
+ にあるため、再床䜜成されるこずなく䜿甚されたす。
+ これらのリ゜ヌスは、別の型ずしお登録する必芁がありたす。
+ (䟋えば、非持続的リンク甚に LE_MYSQL_LINK、
+ 持続的リンク甚に LE_MYSQL_PLINK)
+ </simpara>
+ </listitem>
+ </orderedlist>
+ </para>
     <simpara>
     mysql.c を読むず、より耇雑な接続関数を陀いおはモゞュヌルの他の郚分を
- 倉曎する必芁がないずいうこずが分かるでしょう。</simpara>
-
+ 倉曎する必芁がないずいうこずが分かるでしょう。
+ </simpara>
     <simpara>
- 'list' が 'plist' に眮きかえられるだけで、
- 党く同じむンタヌフェヌスが、暙準リ゜ヌスリストず
- 持続的リ゜ヌスリストに存圚したす。</simpara>
-
- <itemizedlist>
- <listitem><simpara>php3_plist_insert(ptr, type) - 新芏に挿入されたリ゜ヌスの 'id' を返したす。</simpara></listitem>
- <listitem><simpara>php3_plist_delete(id) - 指定された id のリ゜ヌスを削陀したす。</simpara></listitem>
- <listitem><simpara>php3_plist_find(id,*type)
- - 指定された id のリ゜ヌスぞのポむンタを返し、'type' をそのリ゜ヌスの型で曎新したす。</simpara></listitem>
- </itemizedlist>
-
- <simpara>
- しかし、持続的モゞュヌルを実装しようずする際に
- これらの関数が圹に立たないこずがわかる堎合もありえたす。
- 通垞の堎合、持続的リ゜ヌスリストがハッシュテヌブルそのものである
- ずいう事実が利甚されたす。
- 䟋えば、MySQL/mSQL モゞュヌルにおいお、pconnect() コヌル(持続的接続)
- があった堎合、その関数は、関数に枡されるホスト・ナヌザヌ・パスワヌド
- から文字列を䜜成したす。そしお、この文字列をキヌずしお
- SQL リンクをハッシュに加えたす。
- 次に誰かが pconnect() を同じホスト・ナヌザヌ・パスワヌドでコヌル
- した堎合、同じキヌが生成されたす。
- この堎合、この関数は持続的リンクのリストにある SQL リンクを芋぀けたす。</simpara>
-
- <simpara>
- より詳现な蚘述が行われるようになるたで、
- plist のハッシュテヌブル機胜の䜿甚法を知るためには、
- mysql.c たたは msql.c を芋る必芁がありたす。</simpara>
-
- <simpara>
- 泚意すべき重芁な点:持続的リ゜ヌスリストに加えられるリ゜ヌスは、
- PHP のメモリヌマネヌゞャで確保されたものであっおはなりたせん。
- すなわち、emalloc(),estrdup()等で生成されたものであっおはなりたせん。
- むしろ、通垞の malloc(),strdup() 等を䜿甚するべきです。
- その理由は単玔です。リク゚ストの終了時(ヒットの終了時)に
- PHP のメモリヌマネヌゞャを䜿甚しお確保された党おのメモリヌ領域は、
- 削陀されるからです。
- 持続的リストは、リク゚ストの終了時に消去されるようにはなっおいないので、
- このようなリ゜ヌス確保するために
- PHP のメモリヌマネヌゞャを䜿甚するべきではありたせん。</simpara>
-
- <simpara>
- 持続的リストに加えようずするリ゜ヌスを登録する際に、
- 非持続的リストず持続的リストの䞡方にデストラクタを
- 加える必芁がありたす。
- 非持続的リストのデストラクタは、䜕もする必芁がありたせん。
- 持続的リストのデストラクタは、この型により埗られた党おの
+ 'list' が 'plist' に眮きかえられるだけで、
+ 党く同じむンタヌフェヌスが、暙準リ゜ヌスリストず
+ 持続的リ゜ヌスリストに存圚したす。
+ </simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ php3_plist_insert(ptr, type) - 新芏に挿入されたリ゜ヌスの 'id'
+ を返したす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ php3_plist_delete(id) - 指定された id のリ゜ヌスを削陀したす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ php3_plist_find(id,*type) - 指定された id のリ゜ヌスぞのポむンタを返し、
+ 'type' をそのリ゜ヌスの型で曎新したす。
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ <simpara>
+ しかし、持続的モゞュヌルを実装しようずする際に
+ これらの関数が圹に立たないこずがわかる堎合もありえたす。
+ 通垞の堎合、持続的リ゜ヌスリストがハッシュテヌブルそのものである
+ ずいう事実が利甚されたす。
+ 䟋えば、MySQL/mSQL モゞュヌルにおいお、pconnect() コヌル(持続的接続)
+ があった堎合、その関数は、関数に枡されるホスト・ナヌザヌ・パスワヌド
+ から文字列を䜜成したす。そしお、この文字列をキヌずしお
+ SQL リンクをハッシュに加えたす。
+ 次に誰かが pconnect() を同じホスト・ナヌザヌ・パスワヌドでコヌル
+ した堎合、同じキヌが生成されたす。
+ この堎合、この関数は持続的リンクのリストにある SQL リンクを芋぀けたす。
+ </simpara>
+ <simpara>
+ より詳现な蚘述が行われるようになるたで、
+ plist のハッシュテヌブル機胜の䜿甚法を知るためには、
+ mysql.c たたは msql.c を芋る必芁がありたす。
+ </simpara>
+ <simpara>
+ 泚意すべき重芁な点:持続的リ゜ヌスリストに加えられるリ゜ヌスは、
+ PHP のメモリヌマネヌゞャで確保されたものであっおはなりたせん。
+ すなわち、emalloc(),estrdup()等で生成されたものであっおはなりたせん。
+ むしろ、通垞の malloc(),strdup() 等を䜿甚するべきです。
+ その理由は単玔です。リク゚ストの終了時(ヒットの終了時)に
+ PHP のメモリヌマネヌゞャを䜿甚しお確保された党おのメモリヌ領域は、
+ 削陀されるからです。
+ 持続的リストは、リク゚ストの終了時に消去されるようにはなっおいないので、
+ このようなリ゜ヌス確保するために
+ PHPのメモリヌマネヌゞャを䜿甚するべきではありたせん。
+ </simpara>
+ <simpara>
+ 持続的リストに加えようずするリ゜ヌスを登録する際に、
+ 非持続的リストず持続的リストの䞡方にデストラクタを
+ 加える必芁がありたす。
+ 非持続的リストのデストラクタは、䜕もする必芁がありたせん。
+ 持続的リストのデストラクタは、この型により埗られた党おの
     ãƒªã‚œãƒŒã‚¹(䟋えば、メモリヌ、SQLリンク、等)を開攟する必芁が
- ありたす。
- 非持続的リ゜ヌスず党く同様に、党おのリ゜ヌスに぀いおデストラクタ
- を備える必芁がありたす。
- 砎棄を芁する必芁がない堎合には、デストラクタは空ずするこずができたす。
- emalloc() ずその掟生したものは、持続的リストに関連しお
- 䜿甚するべきではなく、このような堎合、efree() も䜿うべきではないずいう
- こずを芚えおおいおください。</simpara></sect2>
+ ありたす。
+ 非持続的リ゜ヌスず党く同様に、党おのリ゜ヌスに぀いおデストラクタ
+ を備える必芁がありたす。
+ 砎棄を芁する必芁がない堎合には、デストラクタは空ずするこずができたす。
+ emalloc() ずその掟生したものは、持続的リストに関連しお
+ 䜿甚するべきではなく、このような堎合、efree() も䜿うべきではないずいう
+ こずを芚えおおいおください。
+ </simpara>
+ </sect2>
  
    <sect2 id="phpdevel-addfunc-addcfg">
     <title>実行時蚭定呜什の远加</title>
     <para>
- PHP3 の機胜の倚くは、実行時に蚭定を行うこずが可胜です。
- これらの蚭定甚呜什は、php3.ini ファむルたたは、Apache モゞュヌル版の
- 堎合、Apache .conf ファむルに曞かれおいたす。
- この Apache .conf ファむルの䞭にこれらを蚘茉するこずの利点は、
- ディレクトリ毎に蚭定が可胜なこずです。
- これは、䟋えばあるディレクトリはある safemodeexecdir を
- 有しおいるずき、他のディレクトリは、別のものを指定するこずが
- できるこずを意味したす。
- この蚭定のきめの现かさは、サヌバヌが耇数の仮想ホストを
- サポヌトする堎合に特に䟿利です。</para>
-
+ PHP3 の機胜の倚くは、実行時に蚭定を行うこずが可胜です。
+ これらの蚭定甚呜什は、php3.ini ファむルたたは、Apache モゞュヌル版の
+ 堎合、Apache .conf ファむルに曞かれおいたす。
+ この Apache .conf ファむルの䞭にこれらを蚘茉するこずの利点は、
+ ディレクトリ毎に蚭定が可胜なこずです。
+ これは、䟋えばあるディレクトリはある safemodeexecdir を
+ 有しおいるずき、他のディレクトリは、別のものを指定するこずが
+ できるこずを意味したす。
+ この蚭定のきめの现かさは、サヌバヌが耇数の仮想ホストを
+ サポヌトする堎合に特に䟿利です。
+ </para>
     <para>
- 新しい呜什を加えるために必芁な手順は次のようなものです。
+ 新しい呜什を加えるために必芁な手順は次のようなものです。
  
      <orderedlist>
- <listitem><simpara>mod_php3.h にある php3_ini_structure
- に呜什を加えたす。</simpara></listitem>
-
- <listitem><simpara>main.c の php3_module_startup 関数
- を線集し、適圓な cfg_get_string() たたは
- cfg_get_long() コヌルを加えたす。</simpara></listitem>
-
- <listitem><simpara>
- mod_php3.c の php3_commands 構造䜓に呜什、制玄、コメントを
- 加えたす。
- 制玄の郚分を蚘録しおおいお䞋さい。
- RSRC_CONF は、Apache .conf ファむルにのみある呜什です。
- OR_OPTIONS 呜什は、通垞の .htaccess ファむルを含むあらゆる
- 堎所に眮くこずができたす。</simpara></listitem>
-
- <listitem><simpara>In either php3take1handler() たたは
- php3flaghandler() はどちらも呜什に関する適圓な゚ントリを
- 远加したす。</simpara></listitem>
-
- <listitem><simpara>functions/info.c 䞭の _php3_info() 関数の
- 蚭定セクションに、新しい呜什を远加する必芁がありたす。</simpara></listitem>
-
- <listitem><simpara>最埌に、もちろん、
- 新しい呜什をどこかで䜿う必芁がありたす。
- この呜什は、php3_ini.呜什 ずしおアクセスできたす。</simpara></listitem>
- </orderedlist></para></sect2></sect1>
-
-
+ <listitem>
+ <simpara>
+ mod_php3.h にある php3_ini_structureに呜什を加えたす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ main.c の php3_module_startup 関数を線集し、適圓なcfg_get_string()
+ たたはcfg_get_long()コヌルを加えたす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ mod_php3.c の php3_commands 構造䜓に呜什、制玄、コメントを
+ 加えたす。制玄の郚分を蚘録しおおいお䞋さい。
+ RSRC_CONFは、Apache .conf ファむルにのみある呜什です。
+ OR_OPTIONS呜什は、通垞の .htaccessファむルを含むあらゆる
+ 堎所に眮くこずができたす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ php3take1handler()たたはphp3flaghandler()はどちらも呜什に
+ 関する適圓な゚ントリを远加したす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ functions/info.c 䞭の _php3_info() 関数の
+ 蚭定セクションに、新しい呜什を远加する必芁がありたす。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 最埌に、もちろん、新しい呜什をどこかで䜿う必芁がありたす。
+ この呜什は、php3_ini.呜什 ずしおアクセスできたす。
+ </simpara>
+ </listitem>
+ </orderedlist>
+ </para>
+ </sect2>
+ </sect1>
+
   <sect1 id="calling-user-functions">
    <title>ナヌザヌ関数のコヌル方法</title>
  
@@ -708,39 +806,42 @@
    <simpara>
     <function>call_user_function</function> は次の 6個の匕数をずりたす。
    </simpara>
-
+
    <sect2 id="calling-user-functions.function-table">
     <title>HashTable *function_table</title>
     <simpara>
- これは、関数を参照できるハッシュテヌブルです。
- </simpara></sect2>
-
+ これは、関数を参照できるハッシュテヌブルです。
+ </simpara>
+ </sect2>
+
    <sect2 id="calling-user-functions.object">
     <title>pval *object</title>
     <simpara>
- これは、関数がコヌルされるオブゞェクトぞのポむンタです。
- グロヌバル関数がコヌルされた堎合、このポむンタは、NULL で
- ある必芁がありたす。
- NULL でない (すなわち、オブゞェクトを指しおいる)堎合、
- function_table 匕数は無芖され、かわりにオブゞェクトのハッシュから
- ずられたす。
- オブゞェクトは、コヌルした関数により修正可胜な堎合がありたす。
- (関数は、$this によりアクセスするこずが可胜です。)
- 䜕らかの理由で、こうしたこずを避けたい堎合、
- オブゞェクトのコピヌを代わりに送付したす。
- </simpara></sect2>
+ これは、関数がコヌルされるオブゞェクトぞのポむンタです。
+ グロヌバル関数がコヌルされた堎合、このポむンタは、NULL で
+ ある必芁がありたす。
+ NULL でない (すなわち、オブゞェクトを指しおいる)堎合、
+ function_table 匕数は無芖され、かわりにオブゞェクトのハッシュから
+ ずられたす。
+ オブゞェクトは、コヌルした関数により修正可胜な堎合がありたす。
+ (関数は、$this によりアクセスするこずが可胜です。)
+ 䜕らかの理由で、こうしたこずを避けたい堎合、
+ オブゞェクトのコピヌを代わりに送付したす。
+ </simpara>
+ </sect2>
  
    <sect2 id="calling-user-functions.function-name">
     <title>pval *function_name</title>
     <simpara>
- コヌルする関数の名前。
- function_name.str.val および function_name.str.len に適圓な
- 倀を蚭定した IS_STRING 型の pval である必芁がありたす。
- function_name は、call_user_function() により修正されたす。
- この時、function_name は、小文字に倉換されたす。
- 倧文字・小文字を保存する必芁がある堎合、関数名のコピヌを代わりに
- 送っお送っおください。
- </simpara></sect2>
+ コヌルする関数の名前。
+ function_name.str.val および function_name.str.len に適圓な
+ 倀を蚭定した IS_STRING 型の pval である必芁がありたす。
+ function_name は、call_user_function() により修正されたす。
+ この時、function_name は、小文字に倉換されたす。
+ 倧文字・小文字を保存する必芁がある堎合、関数名のコピヌを代わりに
+ 送っお送っおください。
+ </simpara>
+ </sect2>
  
    <sect2 id="calling-user-functions.retval">
     <title>pval *retval</title>
@@ -760,167 +861,169 @@
    <sect2 id="calling-user-functions.params">
     <title>pval *params[]</title>
     <simpara>
- 関数の匕数ずしお枡される倀ぞのポむンタの配列、最初の匕数は
- オフセット 0 にあり、2番目はオフセット 1 にありたす。
- 配列は、pval ぞのポむンタの配列です。
- ポむンタは、関数にそのたた送られたす。
- このこずは、関数が匕数を修正した堎合、元の倀が倉曎される(参照枡し)
- こずを意味したす。
- この動䜜が奜たしくない堎合、コピヌを代わりに枡しおください。
- </simpara></sect2></sect1>
-
- <sect1 id="phpdevel-errors">
- <title>゚ラヌの出力</title>
-
- <simpara>
- 内郚関数から゚ラヌを出力するには、<function>php3_error</function> を
- コヌルする必芁がありたす。この関数は、少なくずも 2 ぀の匕数をずりたす。
- 1 番目の匕数ぱラヌのレベル、2 番目の匕数ぱラヌメッセヌゞの
- (通垞の <function>printf</function> ず同じ圢匏の)フォヌマット文字列、
- 以降の匕数はフォヌマット文字列で䜿甚するパラメヌタです。
- ゚ラヌレベルは次のようになりたす。
- </simpara>
-
- <sect2 id="internal.e-notice">
- <title>E_NOTICE</title>
- <simpara>
- デフォルトで通知(NOTICE)は衚瀺されたせん。
- これは、スクリプト実行時に䜕か゚ラヌが発生したが、
- 通垞のスクリプト実行を継続できるこずを瀺したす。
- 䟋えば、倀が蚭定されおいない倉数にアクセスしようずした堎合や、
- 存圚しないファむルに぀いお <function>stat</function> をコヌルした堎合
- です。
- </simpara>
- </sect2>
-
- <sect2 id="internal.e-warning">
- <title>E_WARNING</title>
- <simpara>
- 譊告(WARNING) はデフォルトで出力されたすがスクリプトの実行を
- 䞭断したせん。
- この゚ラヌは、コヌル前にスクリプトにより取り陀いおおくべき
- 問題があるこずを瀺したす。
- 䟋えば、無効な正芏衚珟で <function>ereg</function> をコヌルした堎合
- です。
- </simpara>
- </sect2>
-
- <sect2 id="internal.e-error">
- <title>E_ERROR</title>
- <simpara>
- ゚ラヌもデフォルトで出力されたす。
- 関数からリタヌンした埌、スクリプトの実行は䞭止されたす。
- この゚ラヌは、メモリ確保に関する問題等の回埩䞍可胜な゚ラヌが
- 発生したこずを瀺したす。
- </simpara>
- </sect2>
-
- <sect2 id="internal.e-parse">
- <title>E_PARSE</title>
+ 関数の匕数ずしお枡される倀ぞのポむンタの配列、最初の匕数は
+ オフセット 0 にあり、2番目はオフセット 1 にありたす。
+ 配列は、pval ぞのポむンタの配列です。
+ ポむンタは、関数にそのたた送られたす。
+ このこずは、関数が匕数を修正した堎合、元の倀が倉曎される(参照枡し)
+ こずを意味したす。
+ この動䜜が奜たしくない堎合、コピヌを代わりに枡しおください。
+ </simpara>
+ </sect2>
+ </sect1>
+
+ <sect1 id="phpdevel-errors">
+ <title>゚ラヌの出力</title>
+
    <simpara>
- パヌサ゚ラヌは、パヌサにより生成されたす。ここで衚瀺されるコヌドは、
- あくたでも補完的なものです。
+ 内郚関数から゚ラヌを出力するには、<function>php3_error</function> を
+ コヌルする必芁がありたす。この関数は、少なくずも 2 ぀の匕数をずりたす。
+ 1 番目の匕数ぱラヌのレベル、2 番目の匕数ぱラヌメッセヌゞの
+ (通垞の <function>printf</function> ず同じ圢匏の)フォヌマット文字列、
+ 以降の匕数はフォヌマット文字列で䜿甚するパラメヌタです。
+ ゚ラヌレベルは次のようになりたす。
    </simpara>
+
+ <sect2 id="internal.e-notice">
+ <title>E_NOTICE</title>
+ <simpara>
+ デフォルトで通知(NOTICE)は衚瀺されたせん。
+ これは、スクリプト実行時に䜕か゚ラヌが発生したが、
+ 通垞のスクリプト実行を継続できるこずを瀺したす。
+ 䟋えば、倀が蚭定されおいない倉数にアクセスしようずした堎合や、
+ 存圚しないファむルに぀いお <function>stat</function> をコヌルした堎合
+ です。
+ </simpara>
+ </sect2>
+
+ <sect2 id="internal.e-warning">
+ <title>E_WARNING</title>
+ <simpara>
+ 譊告(WARNING) はデフォルトで出力されたすがスクリプトの実行を
+ 䞭断したせん。
+ この゚ラヌは、コヌル前にスクリプトにより取り陀いおおくべき
+ 問題があるこずを瀺したす。
+ 䟋えば、無効な正芏衚珟で<function>ereg</function>をコヌルした堎合です。
+ </simpara>
+ </sect2>
+
+ <sect2 id="internal.e-error">
+ <title>E_ERROR</title>
+ <simpara>
+ ゚ラヌもデフォルトで出力されたす。
+ 関数からリタヌンした埌、スクリプトの実行は䞭止されたす。
+ この゚ラヌは、メモリ確保に関する問題等の回埩䞍可胜な゚ラヌが
+ 発生したこずを瀺したす。
+ </simpara>
+ </sect2>
+
+ <sect2 id="internal.e-parse">
+ <title>E_PARSE</title>
+ <simpara>
+ パヌサ゚ラヌは、パヌサにより生成されたす。ここで衚瀺されるコヌドは、
+ あくたでも補完的なものです。
+ </simpara>
   </sect2>
-
+
   <sect2 id="internal.e-core-error">
    <title>E_CORE_ERROR</title>
- <simpara>
- PHP のコアにより生成される点を陀いお、E_ERROR ず同じです。
- 関数は、このタむプの゚ラヌを生成したせん。
- </simpara>
- </sect2>
+ <simpara>
+ PHP のコアにより生成される点を陀いお、E_ERROR ず同じです。
+ 関数は、このタむプの゚ラヌを生成したせん。
+ </simpara>
+ </sect2>
+
+ <sect2 id="internal.e-core-warning">
+ <title>E_CORE_WARNING</title>
+ <simpara>
+ PHP のコアにより生成される点を陀いお、E_WARNING ず同じです。
+ 関数は、このタむプの゚ラヌを生成したせん。
+ </simpara>
+ </sect2>
 
- <sect2 id="internal.e-core-warning">
- <title>E_CORE_WARNING</title>
- <simpara>
- PHP のコアにより生成される点を陀いお、E_WARNING ず同じです。
- 関数は、このタむプの゚ラヌを生成したせん。
- </simpara>
- </sect2>
- <sect2 id="internal.e-compile-error">
- <title>E_COMPILE_ERROR</title>
- <simpara>
- This is like an E_ERROR, except it is generated by the Zend Scripting
- Engine. Functions should not generate this type of error.
+ <sect2 id="internal.e-compile-error">
+ <title>E_COMPILE_ERROR</title>
+ <simpara>
+ E_ERRORに䌌おいたすが、Zendスクリプト゚ンゞンにより生成されたもの
+ であるずいうずころが異なりたす。関数は、この型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-compile-warning">
    <title>E_COMPILE_WARNING</title>
    <simpara>
- This is like an E_WARNING, except it is generated by the Zend Scripting
- Engine. Functions should not generate this type of error.
+ E_WARNINGに䌌おいたすが、Zendスクリプト゚ンゞンにより生成されたもの
+ であるずいうずころが異なりたす。関数は、この型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-user-error">
    <title>E_USER_ERROR</title>
    <simpara>
- This is like an E_ERROR, except it is generated in PHP code by using
- the PHP function <function>trigger_error</function>. Functions should
- not generate this type of error.
+ E_ERRORに䌌おいたすが、PHP関数<function>trigger_error</function>
+ を䜿甚するこずによりPHPコヌド内で生成されたものであるずいうずころが
+ 異なりたす。関数はこの型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-user-warning">
    <title>E_USER_WARNING</title>
    <simpara>
- This is like an E_WARNING, except it is generated by using the PHP
- function <function>trigger_error</function>. Functions should not
- generate this type of error.
+ E_WARNINGに䌌おいたすが、PHP関数<function>trigger_error</function>
+ を䜿甚するこずによりPHPコヌド内で生成されたものであるずいうずころが
+ 異なりたす。関数はこの型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-user-notice">
    <title>E_USER_NOTICE</title>
    <simpara>
- This is like an E_NOTICE, except it is generated by using the PHP
- function <function>trigger_error</function>. Functions should not
- generate this type of error.
+ E_NOTICEに䌌おいたすが、PHP関数<function>trigger_error</function>
+ を䜿甚するこずによりPHPコヌド内で生成されたものであるずいうずころが
+ 異なりたす。関数はこの型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-compile-error">
    <title>E_COMPILE_ERROR</title>
    <simpara>
- This is like an E_ERROR, except it is generated by the Zend Scripting
- Engine. Functions should not generate this type of error.
+ E_ERRORに䌌おいたすが、Zendスクリプト゚ンゞンにより生成されたもの
+ であるずいうずころが異なりたす。関数は、この型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-compile-warning">
    <title>E_COMPILE_WARNING</title>
    <simpara>
- This is like an E_WARNING, except it is generated by the Zend Scripting
- Engine. Functions should not generate this type of error.
+ E_WARNINGに䌌おいたすが、Zendスクリプト゚ンゞンにより生成されたもの
+ であるずいうずころが異なりたす。関数は、この型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-user-error">
    <title>E_USER_ERROR</title>
    <simpara>
- This is like an E_ERROR, except it is generated in PHP code by using
- the PHP function <function>trigger_error</function>. Functions should
- not generate this type of error.
+ E_ERRORに䌌おいたすが、PHP関数<function>trigger_error</function>
+ を䜿甚するこずによりPHPコヌド内で生成されたものであるずいうずころが
+ 異なりたす。関数はこの型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-user-warning">
    <title>E_USER_WARNING</title>
    <simpara>
- This is like an E_WARNING, except it is generated by using the PHP
- function <function>trigger_error</function>. Functions should not
- generate this type of error.
+ E_WARNINGに䌌おいたすが、PHP関数<function>trigger_error</function>
+ を䜿甚するこずによりPHPコヌド内で生成されたものであるずいうずころが
+ 異なりたす。関数はこの型の゚ラヌを生成したせん。
    </simpara>
   </sect2>
 
   <sect2 id="internal.e-user-notice">
    <title>E_USER_NOTICE</title>
    <simpara>
- This is like an E_NOTICE, except it is generated by using the PHP
- function <function>trigger_error</function>. Functions should not
- generate this type of error.
+ E_NOTICEに䌌おいたすが、PHP関数<function>trigger_error</function>
+ を䜿甚するこずによりPHPコヌド内で生成されたものであるずいうずころが
+ 異なりたす。関数はこの型の゚ラヌを生成したせん。
    </simpara>
   </sect2>