statically call の日本語訳
Closed this issue · 4 comments
mumumu commented
static メソッドや static プロパティは、スコープ定義演算子で以下のようにアクセスする
<?php
class Test {
public static int $prop = 1;
public static function testMethod() : int { return 2; }
};
var_dump(Test::$prop); // 1
var_dump(Test::testMethod()); // 2
上記の呼び方を statically call
と呼んでいる箇所がかなりある。日本語版では「静的にコールする(呼び出す) 」と訳しているのだが、正直意味がわからない。静的にってどういうこと!? そのまま statically を置き換えただけである。
これについては、 (インスタンス化せずに)スコープ定義演算子を使ってアクセスする
という意味なので、適切なタイミングで置き換える。
mumumu commented
statically call の文脈
- スコープ定義演算子を使った呼び出し
- インスタンス化しないで呼び出すこと
- 親や自分自身を明示的に呼び出す文脈で使う場合 (static:: self:: parent:: など)
- late static binding の文脈
mumumu commented
本件に該当する修正箇所。
reference/xmlreader/xmlreader/open.xml
60: 静的にコールされた場合には <classname>XMLReader</classname> を返します。
68: このメソッドは、静的にコールすることが出来ます。
70: 静的にコールすると <constant>E_DEPRECATED</constant> が発生していました。
reference/xmlreader/xmlreader/xml.xml
60: 静的にコールされた場合には <classname>XMLReader</classname> を返します。
68: このメソッドは、静的にコールすることが出来ます。
70: 静的にコールすると <constant>E_DEPRECATED</constant> が発生していました。
reference/dom/domdocument/loadhtml.xml
59: 静的にコールされた場合には <classname>DOMDocument</classname> を返します。
reference/dom/domdocument/loadhtmlfile.xml
56: 静的にコールされた場合には <classname>DOMDocument</classname> を返します。
reference/dom/domdocument/load.xml
59: 静的にコールされた場合には <classname>DOMDocument</classname> を返します。
reference/dom/domdocument/loadxml.xml
53: 静的にコールされた場合には <classname>DOMDocument</classname> を返します。
84: <title><literal>loadXML</literal> の静的な起動</title>
language/oop5/paamayim-nekudotayim.xml
126: <link linkend="language.oop5.basic.class.this">静的コールのトリックに関するサンプル</link> も参照ください。
language/oop5/static.xml
17: <link linkend="language.oop5.late-static-bindings">遅延静的束縛</link>
27: インスタンス化されたオブジェクトの内部からも静的にコールできます。
41: static でないメソッドを静的にコールすると、<classname>Error</classname> がスローされます。
45: static でないメソッドを静的にコールすることが非推奨になっており、
language/oop5/basic.xml
58: static でないメソッドを 静的にコールすると、
language/oop5/late-static-bindings.xml
180: といったキーワードを使用する静的コールは、コール元の情報を転送します。
features/commandline.xml
1467: 関数や定数、クラス名、変数名、静的なメソッドコール、そしてクラス定数を補完することができます。
mumumu commented
Late Static Bindings の「転送コール」の文脈では、スコープ定義演算子 ( :: ) を使った呼び出し、とした。
こうすることで、「転送コール is 何」という謎は相変わらず残しつつ文脈を誤魔化すことに成功(*´~`)