2011-08-10 18 views
0

重複の可能性を呼び出す:
Calling non static method with "::"
Does static method in PHP have any difference with non-static method?PHP:スコープ解決演算子と非静的メソッド

を::を使用して呼び出す非静的メソッドを可能にするための理由は何ですか、 $ thisを使用してオブジェクトコンテキスト内の何かにアクセスしようとしないと仮定すれば、それは下位互換性のあるものですか、それとも何か特別な理由でそうですか? ::私は静的ではないメソッドにアクセスするために::を使用することを避けることに慣れていなければなりませんか?

class Foo{  
public function Bar(){ 
    echo "this works just fine"; 
    } 
} 

Foo::Bar(); 
+0

よりhttp://stackoverflow.com/search?q=calling+non-static+method+statically+phpはるかにあり – Gordon

答えて

-1

誰かがこれを行う理由はいくつかあります。

  • 1つは、関数がクラス内に存在する可能性があり、結果を生成するためにインスタンス化されているクラスに依存せず、クラスをインスタンス化できない場合や重いインスタンス化であるため、 。
  • シングルトンを読み込む必要があります。
  • それはたぶん誰かが私はただ
  • 必要に応じて、すべての機能
  • の命名規則は抽象クラスでメソッドにアクセスすることができます使用するのではなく、一緒にグループ関連の機能に望んでFactoryパターンクラス
  • に便利ですmは必ず

http://www.ibm.com/developerworks/library/os-php-designptrns/