I次のコードを持っている。ここで、両方のケースで、それは使用して静的クラスの関数を呼び出すための問題である - >間接参照私は</p> <p>PHP 5.2を使用しています
class MyClass {
public function __construct() {}
public static function stuff() {
echo 'This is static! <br />';
}
}
$myClass = new MyClass();
MyClass::stuff(); // Reference by class.
$myClass->stuff(); // Reference by instance of class.
出力作品
これは静的です!
これは静的です!
2番目の参照方法と1番目の参照方法を使用すると問題はありますか?
私は上記の静的なものと同じ署名を持つ非静的な関数を持つことはできないため、問題にはなりません。私は静的関数を使用するときにもスピードブーストがあるので、関数を静的にしたい。
私は何かが欠けているか、またはここで唯一の問題は、 - >参照外の構文でこれが静的関数であることを示していないという意味ですか?
良い質問です。 :) –
機能的には同等です。静的呼び出しは空のローカルスコープで実行されますが、 ' - >'呼び出しは$ thisインスタンスを持ちます。 "静的"キーワードは、ほとんどあなたのケースのNOPです。自己::参照のみに関連しています。 – mario
@mario、それは間違っています。いずれにせよ、それは静的メソッドであり、 '$ this'は利用できません。 –