svn: /phpdoc/ja/trunk/language/ basic-syntax.xml constants.xml functions.xml namespaces.xml operators.xml predefined/variables.xml references.xml types/callable.xml types/pseudo-types.xml wrappers/ftp.xml
[email protected] (Yoshinari Takaoka)
| Newsgroups | php.doc.ja |
|---|---|
| Message-ID | <[email protected]> |
mumumu Mon, 09 Nov 2020 21:54:44 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=351344
Log:
Further removal of PHP 5 mentions in language section
Changed paths:
U phpdoc/ja/trunk/language/basic-syntax.xml
U phpdoc/ja/trunk/language/constants.xml
U phpdoc/ja/trunk/language/functions.xml
U phpdoc/ja/trunk/language/namespaces.xml
U phpdoc/ja/trunk/language/operators.xml
U phpdoc/ja/trunk/language/predefined/variables.xml
U phpdoc/ja/trunk/language/references.xml
U phpdoc/ja/trunk/language/types/callable.xml
U phpdoc/ja/trunk/language/types/pseudo-types.xml
U phpdoc/ja/trunk/language/wrappers/ftp.xml
svn-diffs-351344.txt
(text/x-diff, 33.8 KB)
Modified: phpdoc/ja/trunk/language/basic-syntax.xml
===================================================================
--- phpdoc/ja/trunk/language/basic-syntax.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/basic-syntax.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351112 Maintainer: hirokawa Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi, shimooka, mumumu -->
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook">
@@ -22,12 +22,39 @@
</para>
<para>
- PHP では、短い形式の開始タグ <literal><?</literal> も使えます
- (しかしこれはおすすめしません。というのも、この形式のタグは &php.ini; で
- <link linkend="ini.short-open-tag">short_open_tag</link> を有効にするか
- <option>--enable-short-tags</option> オプションつきで PHP を configure した場合でないと使えないからです)。
+ <example>
+ <title>PHP の開始タグと終了タグ</title>
+ <programlisting role="php">
+<![CDATA[
+1. <?php echo 'XHTMLまたはXMLドキュメントの中でPHPコードを扱いたい場合は、このタグを使いましょう'; ?>
+
+2. 短縮型の echo タグを使って <?= 'この文字列を表示' ?> とすることもできます。
+ これは <?php echo 'この文字列を表示' ?> と同じ意味になります。
+
+3. <? echo 'このコードは短縮型のタグに囲まれていますが、'.
+ 'short_open_tag が有効な場合ににしか動作しません'; ?>
+]]>
+ </programlisting>
+ </example>
</para>
<para>
+ 短縮型のタグ(例 3.)はデフォルトで有効ですが、
+ &php.ini; 設定ファイルのディレクティブ
+ <link linkend="ini.short-open-tag">short_open_tag</link> で無効にすることもできますし、
+ <option>--disable-short-tags</option> オプション付きで configure した場合は、
+ デフォルトで無効にすることも出来ます。
+ </para>
+ <para>
+ <note>
+ <para>
+ 短縮形のタグは無効にすることができるので、
+ 互換性を最大限保つために、通常のタグ
+ (<code><?php ?></code> and <code><?= ?></code>) を使うことを推奨します。
+ </para>
+ </note>
+ </para>
+
+ <para>
ファイルが PHP コードのみを含む場合は、ファイルの最後の終了タグは省略するのがおすすめです。
終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。
余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。
@@ -47,6 +74,7 @@
</informalexample>
</para>
</sect1>
+
<sect1 xml:id="language.basic-syntax.phpmode">
<title>HTML からの脱出</title>
<para>
@@ -95,58 +123,44 @@
を用いることを考えると、このように一度 PHP のパースモードを抜けるほうが効率的です。
</para>
<para>
- また、短い形式の echo タグ <code><?= ?></code> も使えます。
+ PHP コードを XML や XHTML に
+ 埋め込む場合には、標準規格に従うために <?php ?> タグを使用する
+ 必要があるでしょう。
</para>
+ </sect1>
+
+ <sect1 xml:id="language.basic-syntax.instruction-separation">
+ <title>命令の分離</title>
<para>
- <note>
- <para>
- さらに注意しなければならないことがあります。PHP コードを XML や XHTML に
- 埋め込む場合には、標準規格に従うために <?php ?> タグを使用する
- 必要があるでしょう。
- </para>
- </note>
+ C や Perl と同様に、PHP でもステートメントを区切りにはセミコロンが必要と
+ なります。PHP コードブロックの終了タグには自動的にセミコロンが含まれていると
+ 認識されます。 従って PHP コードの最終行にはセミコロンを記述する必要はありません。
+ ブロックの終了タグは、直後に改行がある場合、それを含んだものになります。
</para>
<para>
<example>
- <title>PHP の開始タグと終了タグ</title>
+ <title>改行を囲んだ終了タグを表示させる例</title>
<programlisting role="php">
<![CDATA[
-1. <?php echo 'XHTMLまたはXMLドキュメントの中でPHPコードを扱いたい場合は、このタグを使いましょう'; ?>
-
-2. 短縮型の echo タグを使って <?= 'この文字列を表示' ?> とすることもできます。
- これは <?php echo 'この文字列を表示' ?> と同じ意味になります。
-
-3. <? echo 'このコードは短縮型のタグに囲まれていますが、'.
- 'short_open_tag が有効な場合ににしか動作しません'; ?>
+<?php echo "Some text"; ?>
+No newline
+<?= "But newline now" ?>
]]>
</programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+Some textNo newline
+But newline now
+]]>
+ </screen>
</example>
</para>
+
<para>
- 短縮型のタグ(例 3.)はデフォルトで有効ですが、
- &php.ini; 設定ファイルのディレクティブ
- <link linkend="ini.short-open-tag">short_open_tag</link> で無効にすることもできますし、
- <option>--disable-short-tags</option> オプション付きで configure した場合は、
- デフォルトで無効にすることも出来ます。
- </para>
- <para>
- <note>
- <para>
- 短縮形のタグは無効にすることができるので、
- 互換性を最大限保つために、通常のタグ
- (<code><?php ?></code> and <code><?= ?></code>) を使うことを推奨します。
- </para>
- </note>
- </para>
- </sect1>
- <sect1 xml:id="language.basic-syntax.instruction-separation">
- <title>命令の分離</title>
- <para>
- C や Perl と同様に、PHP でもステートメントを区切りにはセミコロンが必要と
- なります。PHP コードブロックの終了タグには自動的にセミコロンが含まれていると
- 認識されます。 従って PHP コードの最終行にはセミコロンを記述する必要はありません。
- ブロックの終了タグは、直後に改行がある場合、それを含んだものになります。
+ PHP パーサの開始と終了の例:
+
<informalexample>
<programlisting role="php">
<![CDATA[
Modified: phpdoc/ja/trunk/language/constants.xml
===================================================================
--- phpdoc/ja/trunk/language/constants.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/constants.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351133 Maintainer: hirokawa Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi,mumumu -->
<chapter xml:id="language.constants" xmlns="http://docbook.org/ns/docbook">
@@ -11,9 +11,18 @@
スクリプト実行中に変更できません (<link
linkend="language.constants.predefined">マジック定数</link>
は例外で、これらは実際は定数ではありません)。
- デフォルトで定数では大文字小文字を区別します。慣習的に、
+ 定数は大文字小文字を区別します。慣習的に、
定数は常に大文字で表記されます。
</simpara>
+
+ <note>
+ <para>
+ PHP 8.0.0 より前のバージョンでは、
+ <function>define</function> 関数を使って定義された定数は、
+ 大文字小文字を区別していました。
+ </para>
+ </note>
+
<para>
定数の名前は、PHP のラベルと同じ規則に従います。有効な定数の名前は、
文字またはアンダースコアで始まり、任意の数の文字、数字、
@@ -23,12 +32,13 @@
<para>
<function>define</function> 関数を使うと、
予約語や有効でない名前の定数を定義することが可能です。
- この場合の定数の値は constant() 関数によって (のみ) 取得できますが、
+ この場合の定数の値は constant() 関数によってのみ取得できますが、
このような使い方は推奨できません。
</para>
&tip.userlandnaming;
<para>
+<!-- TODO Move into syntax section? -->
<example>
<title>有効/無効な定数名の例</title>
<programlisting role="php">
@@ -67,6 +77,13 @@
をご覧ください。
</simpara>
+ <note>
+ <simpara>
+ PHP 7.4.0 以降では、クラス定数は protected または private として宣言でき、
+ それが定義されたクラス階層のスコープでのみ利用可能にすることができます。
+ </simpara>
+ </note>
+
<sect1 xml:id="language.constants.syntax">
<title>構文</title>
<simpara>
@@ -94,6 +111,7 @@
定義済の定数の一覧を得るには、
<function>get_defined_constants</function> を使用してください。
</simpara>
+
<note>
<simpara>
定数と(グローバル)変数は、異なる名前空間にあります。
@@ -100,25 +118,32 @@
例えば、&true; と <varname>$TRUE</varname> は違うものを意味します。
</simpara>
</note>
+
<simpara>
- 未定義の定数を使用した場合、ちょうど<type>string</type>として
+ 未定義の定数を使用した場合、<classname>Error</classname> がスローされます。
+ PHP 8.0.0 より前のバージョンでは、
+ 未定義の定数は、ちょうど<type>string</type>として
コールしたかのように(CONSTANT vs "CONSTANT")、
- PHPはその定数自体の名前を使用したと仮定します。
+ PHPはその定数自体の名前を使用したと解釈していました。
このような振る舞いは、PHP 7.2.0
以降では非推奨となり、<constant>E_WARNING</constant>
が発生するようになりました。
(それより前のバージョンでは、
<link linkend="ref.errorfunc">E_NOTICE</link> が発生していました)
- なぜ
+ (<literal>bar</literal>が定数でなければ) なぜ
<link linkend="language.types.array.foo-bar">$foo[bar]</link>が間違っている
- (まず<literal>bar</literal>を定数として<function>define</function>しなければ)
のかというマニュアルもご覧ください。
これは <link
linkend="language.namespaces.rules">完全修飾形式の定数</link>
- には適用されず、この場合は未定義なら fatal error となります。
- 定数がセットされているかを単にチェックするには
- <function>defined</function>を使用してください。
+ には適用されず、この場合は未定義なら <classname>Error</classname> が発生します。
</simpara>
+
+ <note>
+ <simpara>
+ 定数が設定されているかを確認するには、<function>defined</function> 関数を使って下さい。
+ </simpara>
+ </note>
+
<para>
変数との違いは次のようになります。
<itemizedlist>
@@ -154,7 +179,8 @@
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // "Hello world."を出力
-echo Constant; // "Constant" を出力し、警告 (notice) を発行
+echo Constant; // エラーが発生: Undefined constant "Constant"
+ // PHP 8.0.0 より前のバージョンでは、"Constant" を出力し、警告が発生
?>
]]>
</programlisting>
@@ -209,10 +235,15 @@
</para>
</note>
- <simpara>
- <link linkend="language.oop5.constants">オブジェクト定数</link>
- も参照ください。
- </simpara>
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><link linkend="language.oop5.constants">オブジェクト定数</link></member>
+ </simplelist>
+ </para>
+ </sect2>
+
</sect1>
<sect1 xml:id="language.constants.predefined">
@@ -242,8 +273,8 @@
<tgroup cols="2">
<thead>
<row>
- <entry>名前</entry>
- <entry>説明</entry>
+ <entry>&Name;</entry>
+ <entry>&Description;</entry>
</row>
</thead>
<tbody>
@@ -306,11 +337,9 @@
</entry>
</row>
<row xml:id="constant.coloncolonclass">
- <entry><constant>ClassName::class</constant></entry>
+ <entry><constant><replaceable>ClassName</replaceable>::class</constant></entry>
<entry>
完全に修飾されたクラス名。
- 詳しくは、
- <link linkend="language.oop5.basic.class.class">::class</link> を参照してください。
</entry>
</row>
</tbody>
@@ -322,7 +351,7 @@
&reftitle.seealso;
<para>
<simplelist>
-<!-- <link linkend="language.oop5.basic.class.class">::class</link> -->
+ <member><link linkend="language.oop5.basic.class.class">::class</link></member>
<member><function>get_class</function></member>
<member><function>get_object_vars</function></member>
<member><function>file_exists</function></member>
Modified: phpdoc/ja/trunk/language/functions.xml
===================================================================
--- phpdoc/ja/trunk/language/functions.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/functions.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351133 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,mumumu -->
<chapter xml:id="language.functions" xmlns="http://docbook.org/ns/docbook">
<title>関数</title>
@@ -1307,12 +1307,18 @@
</example>
</para>
- <para>
- <function>is_callable</function> や <function>call_user_func</function>、
- <link linkend="language.variables.variable">可変変数</link>、そして
- <function>function_exists</function>も参照してください。
- </para>
-
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>is_callable</function></member>
+ <member><function>call_user_func</function></member>
+ <member><function>function_exists</function></member>
+ <member><link linkend="language.variables.variable">可変変数</link></member>
+ </simplelist>
+ </para>
+ </sect2>
+
</sect1>
<sect1 xml:id="functions.internal">
@@ -1363,12 +1369,19 @@
これに依存することはできません。
</simpara>
</note>
- <para>
- <function>function_exists</function>,
- <link linkend="funcref">the function reference</link>,
- <function>get_extension_funcs</function>,
- <function>dl</function>も参照してください。
- </para>
+
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>function_exists</function></member>
+ <member><link linkend="funcref">関数リファレンス</link></member>
+ <member><function>get_extension_funcs</function></member>
+ <member><function>dl</function></member>
+ </simplelist>
+ </para>
+ </sect2>
+
</sect1>
<sect1 xml:id="functions.anonymous">
Modified: phpdoc/ja/trunk/language/namespaces.xml
===================================================================
--- phpdoc/ja/trunk/language/namespaces.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/namespaces.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351112 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: takagi Status: ready -->
<!-- CREDITS: mumumu -->
<chapter xml:id="language.namespaces" xmlns="http://docbook.org/ns/docbook"
@@ -602,6 +602,7 @@
</example>
</para>
</sect1>
+
<sect1 xml:id="language.namespaces.importing">
<title>名前空間の使用法: エイリアス/インポート</title>
<?phpdoc print-version-for="namespaces"?>
@@ -611,13 +612,10 @@
これは、Unix 系のファイルシステムでファイルやディレクトリへのシンボリックリンクを作成することに似ています。
</para>
<para>
- PHP の名前空間では、3 通りの方法でエイリアスやインポートをサポートしています。
- クラス名のエイリアスを作成する方法、インターフェイス名のエイリアスを作成する方法、
- そして名前空間名のエイリアスを作成する方法です。
- PHP 5.6 以降では、さらに関数や定数のエイリアスやインポートもサポートします。
+ PHP は定数、関数、クラス、インターフェイス、名前空間のエイリアスやインポートをサポートしています。
</para>
<para>
- PHP でのエイリアス作成には <literal>use</literal> 演算子を使用します。
+ エイリアス作成には <literal>use</literal> 演算子を使用します。
ここに、5 種類すべてのインポート方法の例を示します。
<example>
<title>use 演算子によるインポート/エイリアス</title>
@@ -633,13 +631,13 @@
// グローバルクラスをインポートします
use ArrayObject;
-// 関数をインポートします (PHP 5.6+)
+// 関数をインポートします
use function My\Full\functionName;
-// 関数のエイリアスを定義します (PHP 5.6+)
+// 関数のエイリアスを定義します
use function My\Full\functionName as func;
-// 定数をインポートします (PHP 5.6+)
+// 定数をインポートします
use const My\Full\CONSTANT;
$obj = new namespace\Another; // foo\Another クラスのオブジェクトのインスタンスを作成します
Modified: phpdoc/ja/trunk/language/operators.xml
===================================================================
--- phpdoc/ja/trunk/language/operators.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/operators.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351281 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,mumumu -->
<chapter xml:id="language.operators" xmlns="http://docbook.org/ns/docbook">
<title>演算子</title>
@@ -460,11 +460,14 @@
</programlisting>
</informalexample>
</para>
- <simpara>
- マニュアルの
- <link linkend="ref.math">数学関数</link>の項も参照してください。
- </simpara>
-
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><link linkend="ref.math">数学関数</link></member>
+ </simplelist>
+ </para>
+ </sect2>
</sect1>
<sect1 xml:id="language.operators.assignment">
@@ -695,13 +698,16 @@
</tgroup>
</informaltable>
</sect2>
- <sect2 xml:id="language.operators.assignment.see-also">
- <para>
- <link linkend="language.operators.arithmetic">
- 代数演算子</link>, <link linkend="language.operators.bitwise">ビット演算子</link>,
- <link linkend="language.operators.string">文字列演算子</link>,
- <link linkend="language.operators.comparison.coalesce">NULL 合体演算子</link> のページも参照して下さい。
- </para>
+
+ <sect2 role="seealso" xml:id="language.operators.assignment.see-also">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><link linkend="language.operators.arithmetic">arithmetic operators</link></member>
+ <member><link linkend="language.operators.bitwise">bitwise operators</link></member>
+ <member><link linkend="language.operators.comparison.coalesce">null coalescing operator</link></member>
+ </simplelist>
+ </para>
</sect2>
</sect1>
@@ -1630,14 +1636,6 @@
</example>
</para>
- <para>
- <function>strcasecmp</function>,
- <function>strcmp</function>、
- <link linkend="language.operators.array">配列演算子</link>,
- マニュアルの
- <link linkend="language.types">型</link> のセクションも参照してください。
- </para>
-
<warning>
<title>浮動小数点数値の比較</title>
@@ -1651,6 +1649,18 @@
</para>
</warning>
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>strcasecmp</function></member>
+ <member><function>strcmp</function></member>
+ <member><link linkend="language.operators.array">Array operators</link></member>
+ <member><link linkend="language.types">Types</link></member>
+ </simplelist>
+ </para>
+ </sect2>
+
<sect2 xml:id="language.operators.comparison.ternary">
<title>三項演算子</title>
<para>
@@ -1681,7 +1691,7 @@
<replaceable>式3</replaceable> を値とします。
</para>
<para>
- PHP 5.3 以降では、三項演算子のまんなかの部分をなくすこともできるようになりました。
+ 三項演算子のまんなかの部分をなくすこともできます。
式 <literal>expr1 ?: expr3</literal> の結果は、<replaceable>expr1</replaceable> が
&true; と同等の場合は <replaceable>expr1</replaceable>、
それ以外の場合は <replaceable>expr3</replaceable> となります。
@@ -1842,11 +1852,6 @@
条件構造の前にこの演算子を付けることはできません。
</simpara>
</note>
- <simpara>
- <function>error_reporting</function> と、
- <link linkend="ref.errorfunc">エラー処理とログ出力関数</link>
- も参照してください。
- </simpara>
<warning>
<para>
現在、エラー制御演算子プレフィックス"@"は、スクリプトの実行を
@@ -1856,8 +1861,18 @@
その場所でスクリプトは終了してしまいます。
</para>
</warning>
+
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>error_reporting</function></member>
+ <member><link linkend="ref.errorfunc">エラーハンドリングとロギング関数</link></member>
+ </simplelist>
+ </para>
+ </sect2>
</sect1>
-
+
<sect1 xml:id="language.operators.execution">
<title>実行演算子</title>
<para>
@@ -1890,13 +1905,19 @@
ダブルクォートで囲まれた文字列の中でのバッククォート演算子には何の効力もありません。
</para>
</note>
- <para>
- マニュアルの <link linkend="ref.exec">システムプログラムの実行</link>
- や <function>popen</function>,
- <function>proc_open</function>, そして
- <link linkend="features.commandline">PHPをコマンドラインから使用する</link>
- も参照してください。
- </para>
+
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><link linkend="ref.exec">システムプログラムの実行</link></member>
+ <member><function>popen</function></member>
+ <member><function>proc_open</function></member>
+ <member><link linkend="features.commandline">PHPをコマンドラインから使用する</link></member>
+ </simplelist>
+ </para>
+ </sect2>
+
</sect1>
<sect1 xml:id="language.operators.increment">
@@ -2175,10 +2196,17 @@
</programlisting>
</informalexample>
</para>
- <para>
- <link linkend="language.types.string">文字列</link> と
- <link linkend="ref.strings">文字列 関数</link>も参照してください。
- </para>
+
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><link linkend="language.types.string">文字列</link></member>
+ <member><link linkend="ref.strings">文字列 関数</link></member>
+ </simplelist>
+ </para>
+ </sect2>
+
</sect1>
<sect1 xml:id="language.operators.array">
@@ -2310,10 +2338,17 @@
</programlisting>
</example>
</para>
- <para>
- <link linkend="language.types.array">配列</link>と
- <link linkend="ref.array">配列関数</link>も参照してください。
- </para>
+
+ <sect2 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><link linkend="language.types.array">配列</link></member>
+ <member><link linkend="ref.array">配列関数</link></member>
+ </simplelist>
+ </para>
+ </sect2>
+
</sect1>
<sect1 xml:id="language.operators.type">
@@ -2531,31 +2566,6 @@
</screen>
</example>
</para>
- <para>
- 注意すべき落とし穴があります。PHP 5.1.0 より前のバージョンでは、
- <literal>instanceof</literal> は、クラス名が存在しない場合に
- <function>__autoload</function> をコールしていました。
- さらに、クラスが読み込めなかった場合に致命的なエラーが発生していました。
- この問題の回避策としては、動的なクラス参照を使用するか、
- クラス名を含む文字列変数を使用します。
- <example>
- <title>クラス名検索時の致命的エラーの回避策</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-$d = 'NotMyClass';
-var_dump($a instanceof $d); // これで、致命的なエラーは発生しません
-?>
-]]>
- </programlisting>
- &example.outputs;
- <screen>
-<![CDATA[
-bool(false)
-]]>
- </screen>
- </example>
- </para>
<simpara>
<literal>instanceof</literal> 演算子は、<function>is_a</function>
関数とは機能的に異なる部分があります。
@@ -2565,7 +2575,6 @@
&reftitle.seealso;
<para>
<simplelist>
-<!-- <link linkend="language.oop5.basic.class.class">::class</link> -->
<member><function>get_class</function></member>
<member><function>is_a</function></member>
</simplelist>
Modified: phpdoc/ja/trunk/language/predefined/variables.xml
===================================================================
--- phpdoc/ja/trunk/language/predefined/variables.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/predefined/variables.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351112 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<reference xml:id="reserved.variables" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -14,12 +14,6 @@
や組み込みの環境変数、直近のエラーメッセージや最後に取得したヘッダなどのあらゆる内容が取得できます。
</para>
- <para>
- 関連情報については、FAQ の
- "<link linkend="faq.register-globals">register_globals の影響は?</link>"
- を参照ください。
- </para>
-
</partintro>
&language.predefined.variables.superglobals;
Modified: phpdoc/ja/trunk/language/references.xml
===================================================================
--- phpdoc/ja/trunk/language/references.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/references.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 346847 Maintainer: hirokawa Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi,mumumu -->
<chapter xml:id="language.references" xmlns="http://docbook.org/ns/docbook">
<title>リファレンスの説明</title>
@@ -97,18 +97,11 @@
]]>
</programlisting>
</informalexample>
- PHP 5 以降、<link linkend="language.oop5.basic.new">new</link>
+ <link linkend="language.oop5.basic.new">new</link>
は自動的にリファレンスを返すようになりました。そのため、この場面で
- <literal>=&</literal> を使用することは非推奨となりました。
- PHP 5.3 以降では <constant>E_DEPRECATED</constant>、それより前のバージョンでは
- <constant>E_STRICT</constant> レベルのメッセージが表示されます。
- また、PHP 7.0.0 以降は、文法的に無効となります
- (技術的な話をすると、PHP 5 以降では、リソース型のようなオブジェクト変数は
- 実際のデータへの単なるポインタとなりました。つまり、
- オブジェクトのリファレンスはこれまでのような意味での "リファレンス"
- つまりエイリアスとは異なります。
+ <literal>=&</literal> を使用することは文法的に無効です。
詳細な情報は <link linkend="language.oop5.references">
- オブジェクトと参照</link> にあります)。
+ オブジェクトと参照</link> にあります。
</para>
<warning>
<para>
@@ -320,10 +313,6 @@
関数コールの際には、リファレンス記号がないことに注意してください。
関数定義にのみリファレンス記号があります。リファレンスで正しく引数を
渡すには、関数定義のみで十分です。
- PHP 5.3.0 以降では、<literal>foo(&$a);</literal> のような形式で & を利用すると
- "Call-time pass-by-reference" を非推奨とする警告が発生します。
- また、PHP 5.4.0 以降では call-time pass-by-reference 機能自体が削除されたので、
- これを使おうとすると fatal エラーが発生します。
</simpara>
</note>
</para>
@@ -378,8 +367,7 @@
$a = 5;
return $a;
}
-foo(bar()); // PHP 5.0.5 以降、致命的なエラーが発生する
- // PHP 5.1.1 以降では strict notice、そして PHP 7.0.0 以降では notice となる
+foo(bar()); // notice が発生
foo($a = 5); // 式、変数ではない
foo(5); // 致命的なエラーが発生する
@@ -445,9 +433,6 @@
<emphasis>式</emphasis> の結果を返してくれることは<emphasis>ありません</emphasis>。
可能なことは、値へのリファレンスを返すことができるということだけで、
それ以外の何者でもありません。
- PHP 5.1.0 以降では、式の結果や <literal>new</literal>
- 演算子の結果をそのまま返そうとした場合に <constant>E_NOTICE</constant>
- エラーが発生します。
</simpara>
</note>
<para>
Modified: phpdoc/ja/trunk/language/types/callable.xml
===================================================================
--- phpdoc/ja/trunk/language/types/callable.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/types/callable.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351112 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<sect1 xml:id="language.types.callable">
<title>コールバック / Callable</title>
<para>
- コールバックは、<type>callable</type> タイプヒントで表されます。
+ コールバックは、<type>callable</type> 型で表されます。
</para>
<para>
Modified: phpdoc/ja/trunk/language/types/pseudo-types.xml
===================================================================
--- phpdoc/ja/trunk/language/types/pseudo-types.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/types/pseudo-types.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 351129 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,shimooka,mumumu -->
<sect1 xml:id="language.pseudo-types">
<title>本ドキュメントにおける疑似的な型および変数</title>
@@ -8,6 +8,7 @@
擬似型は、PHPドキュメントで引数が持つことができる型や値を指定するために使用されるキーワードです。 PHP言語のプリミティブではないことに注意してください。 したがって、独自のカスタム関数では、型ヒントとして擬似型を使用することはできません。
</para>
<sect2 xml:id="language.types.mixed">
+ <!-- TODO: Proper page or do a new page "Type declarations" and move the part from function reference into it -->
<title>mixed</title>
<para>
Modified: phpdoc/ja/trunk/language/wrappers/ftp.xml
===================================================================
--- phpdoc/ja/trunk/language/wrappers/ftp.xml 2020-11-09 20:46:20 UTC (rev 351343)
+++ phpdoc/ja/trunk/language/wrappers/ftp.xml 2020-11-09 21:54:44 UTC (rev 351344)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 347043 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 351340 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,mumumu -->
<refentry xml:id="wrappers.ftp" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
@@ -79,10 +79,9 @@
<row>
<entry><function>stat</function> のサポート</entry>
<entry>
- <function>filesize</function>、
+ <function>filesize</function>、<function>filemtime</function>、
<function>filetype</function>、<function>file_exists</function>、
- <function>is_file</function> および <function>is_dir</function> のみ。
- PHP 5.1.0 以降: <function>filemtime</function>。
+ <function>is_file</function>、<function>is_dir</function> のみ。
</entry>
</row>
<row>