1

タイトルがおかしいと思ったら申し訳ありませんが、呼び方がわかりません。フレームワークを調べていたのですが、これがどのように機能するのでしょうか。

<?php
//namespace and use

abstract class Model {
    //...
    public function __call($method,$params){
        //some stuff
        return static::$$method;
    }
}

これは抽象クラスなので、静的はどのクラスを参照しますか?(何も拡張していないことを考慮して)メソッドを試しましvar_dumpたが、そのメソッドはそのクラスにありません。そして、なぜそれは二重ドル記号を持っているのですか?

編集:ああ、それは__callStaticメソッドを呼び出します。丸薬が必要です。

4

1 に答える 1

3

selfこれは「後期静的バインディング」と呼ばれ、定義されているコンテキスト(「クラス」)を常に参照するのとは異なり、呼び出されるコンテキストを常に参照します。

于 2012-07-11T21:07:46.340 に答える