この記事の例では、PHP で静的メソッドを使用する際の一般的な注意事項をいくつか紹介します。参考のためにみんなで共有してください。具体的な方法は以下の通りです
1. クラス内のメソッドが静的として宣言されていない場合でも、変更可能なクラス メンバー変数を使用しない場合でも、演算子:: ; を使用して外部から呼び出すことができます。 2.
静的に呼び出される (:: 演算子を使用して) メソッド内の $this の値は、それを定義するクラスではなく、呼び出しのコンテキストによって決定されます。たとえば、次のコード: リーリー
このコードの出力は何ですか? TestClass1 からのnormal_v
が正しい出力であることがわかりました。
注: test_func1() は TestClass1 で定義されていますが、TestClass2 で呼び出され、その内部 $this 変数は TestClass2 によって決定されます!
実際、これら 2 つのクラス間の関係は「双方向の関連付け」である必要があります。
phpの静的メソッドの問題
}
class Hypnotic_Cat extends Cat
{
public $string = "猫に催眠術をかけました。\r\n";
function Hypnotic_Cat()
{
}
public static function 催眠術()
{
echo self::$string;
}
}
Hypnotic_Cat::催眠ize();
$催眠_cat = new Hypnotic_Cat();
$催眠_cat->催眠術();
?>
正しい例
class Cat {
}
class Hypnotic_Cat extends Cat
{
public static $string = "猫は催眠術をかけられました。\r\n";
function Hypnotic_Cat()
{
}
public static関数 催眠術()
{
エコー self::$string;
}
}
Hypnotic_Cat:: 催眠術();
$催眠_cat = 新しい Hypnotic_Cat();
$催眠_cat->催眠術();
?>
http://www.bkjia.com/PHPjc/879726.html
www.bkjia.com本当