PHP延迟静态绑定示例分享
投稿:hebedich
在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>';
// 输出结果 B C 456789 abcdef A 123456