关于后期静态绑定
看了php手册中关于后期静态绑定,还是不太明白,原文地址http://cn2.php.net/manual/zh/language.oop5.late-static-bindings.php
其中第四个例子
<br /> <?php<br /> class A {<br /> public static function foo() {<br /> static::who();<br /> }<br /> <br /> public static function who() {<br /> echo __CLASS__."\n";<br /> }<br /> }<br /> <br /> class B extends A {<br /> public static function test() {<br /> A::foo();<br /> parent::foo();<br /> self::foo();<br /> }<br /> <br /> public static function who() {<br /> echo __CLASS__."\n";<br /> }<br /> }<br /> class C extends B {<br /> public static function who() {<br /> echo __CLASS__."\n";<br /> }<br /> }<br /> <br /> C::test();<br /> ?><br />
self::foo(); // 这个self实际上是C类。明白吗? C::test() C继承了B的test()方法