以前一度見たことがあるのですが、staticとselfの具体的な違いを忘れていましたので、今回見直してみます。
静的は PHP 5.3 の後に追加されました。英語の説明を見てください:
self は、新しい操作が行われるメソッドの同じクラスを指します。
PHP 5.3 の後期静的バインディングの静的は、何かを指しますメソッドを呼び出す階層内のクラスです。
以前、良い例が記載されている記事を見たことがあります。class A { public static function who() { echo __CLASS__; } public static function test() { self::who(); // static::who(); } } A::test(); class B extends A { public static function who() { echo __CLASS__; } } echo B::test();
static: それを呼び出すクラスを指す
まだわかりやすいので、次回は忘れないようにしましょう。
上記は、静的コンテンツを含む、PHP における static と self の違いを紹介したもので、PHP チュートリアルに興味のある友人に役立つことを願っています。