ホームページ >バックエンド開発 >PHPチュートリアル >PHP における static と self の違い
現在のメソッドが定義されているクラスに応じて、self:: または __CLASS__ を使用して、現在のクラスへの静的参照を作成します。
Using static::現在のメソッドが定義されているクラスについては、実際の実行時に計算されます。静的メソッドの呼び出し (ただし、それに限定されない) に使用できるため、「静的バインディング」とも呼ばれます。
静的バインディングは、継承スコープ内で静的に呼び出されるクラスを参照するために PHP 5.3.0 で追加された関数です。
簡単に言うと、#self はどのクラスを参照するかということです。
static は使用されるクラスを表します。これは親クラスに記述した static であり、次の関数によってオーバーライドされます。使用されるのはサブクラスのメソッドまたは属性です
<?php class Person { public static function name() { echo "111"; echo "<br />"; } public static function callself() { self::name(); } public static function callstatic() { static::name(); } } class Man extends Person { public static function name() { echo "222"; echo "<br />"; } } Man::callself(); // output: 111 Man::callstatic(); // output: 222 ?>推奨: PHP ビデオ チュートリアル
以上がPHP における static と self の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。