PHP での static と self の使用の違い
クラス A {
??? パブリック静的関数 who() {
??? エコー __CLASS__;
???}
??? パブリック静的関数 test() {
??? 自分::誰();
//??? 静的::誰();
???}
}
A::test();
クラス B は A を拡張します {
??? パブリック静的関数 who() {
??? エコー __CLASS__;
???}
}
echo B::test();
?
キーワード self を使用すると、結果は次のようになります:?? A A
キーワード static を使用した場合、結果は次のようになります: A B
static: 親クラスはサブクラスの静的メソッドにアクセスします
self: は、このクラス、静的メソッド、属性を指すクラス内ポインターです