在PHP5.3中,给类加入了关键词static,用于实现延迟静态绑定(late static binding),那么我们来看看一个示例来好好学习下。
<?php class A { protected static $def = '123456'; public static function test() { echo get_class(new static); } public static function test2() { echo static::$def; } } class B extends A { protected static $def = '456789'; } class C extends A { protected static $def = 'abcdef'; } echo B::test(); echo '<br>'; echo C::test(); echo '<br>'; echo B::test2(); echo '<br>'; echo C::test2(); echo '<br>'; echo A::test(); echo '<br>'; echo A::test2(); echo '<br>'; ?1234567 // 输出结果 B C 456789