关于后期静态绑定
看了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()方法