Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

statically call の日本語訳 #45

Closed
mumumu opened this issue May 1, 2022 · 4 comments · Fixed by #49
Closed

statically call の日本語訳 #45

mumumu opened this issue May 1, 2022 · 4 comments · Fixed by #49
Assignees
Labels
enhancement New feature or request

Comments

@mumumu
Copy link
Member

mumumu commented May 1, 2022

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
Copy link
Member Author

mumumu commented May 1, 2022

これと似たような static の置き換えに、static variable を「静的変数」と置き換えている箇所がある。これは #46 で扱う。

@mumumu mumumu added the enhancement New feature or request label May 1, 2022
mumumu added a commit that referenced this issue May 2, 2022
relates to: #45
reported by @zonuexe
@mumumu
Copy link
Member Author

mumumu commented May 2, 2022

statically call の文脈

@mumumu
Copy link
Member Author

mumumu commented May 6, 2022

本件に該当する修正箇所。

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
Copy link
Member Author

mumumu commented May 14, 2022

Late Static Bindings の「転送コール」の文脈では、スコープ定義演算子 ( :: ) を使った呼び出し、とした。

こうすることで、「転送コール is 何」という謎は相変わらず残しつつ文脈を誤魔化すことに成功(*´~`)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant