面接中に聞かれたのですが、答えざるを得ませんでしたので、ここにまとめておきたいと思います。
現在のメソッドが定義されているクラスに応じて、self:: または現在のクラスへの静的参照を使用します。__CLASS__
簡単に言うと、これが実際に記述されているクラスです。 Class.
static は使用するクラスを表し、これは親クラスに記述した静的であり、サブクラスによってオーバーライドされ、サブクラスのメソッドまたは属性が使用されます
<?phpclass 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: 111Man::callstatic(); // output: 222?>
以上がPHPにおけるstaticとselfの違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。