【PHP】親クラスから継承したstaticメソッドで子クラスの定数を参照する方法
2024/01/29
親クラスから継承したstaticメソッドで、子クラスの定数を参照したい場合、`static::`が使えます。`self::`による参照では、メソッドが定義されたクラスに解決されます。以下は`self::`と`static::`を比較したコードです。詳しくは[公式ドキュメント](https://www.php.net/manual/ja/language.oop5.late-static-bindings.php)を参照してください。 ```php class A { protected const CONFIG = 'A'; public static function selfConfig(): string { return self::CONFIG; } public static function staticConfig(): string { return static::CONFIG; } } class B extends A { protected const CONFIG = 'B'; } var_dump(A::selfConfig()); // string(1) "A" var_dump(A::staticConfig()); // string(1) "A" var_dump(B::selfConfig()); // string(1) "A" var_dump(B::staticConfig()); // string(1) "B" ```