首页  >  文章  >  后端开发  >  PHP延迟静态绑定示例分享

PHP延迟静态绑定示例分享

高洛峰
高洛峰原创
2016-12-26 16:18:351082浏览

没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了

<?php
class A {
 protected static $def = &#39;123456&#39;;
 
 public static function test() {
  echo get_class(new static);
 }
 
 public static function test2() {
  echo static::$def;
 }
}
 
class B extends A {
 protected static $def = &#39;456789&#39;;
}
 
class C extends A {
 protected static $def = &#39;abcdef&#39;;
}
 
echo B::test();
echo &#39;<br>&#39;;
echo C::test();
echo &#39;<br>&#39;;
echo B::test2();
echo &#39;<br>&#39;;
echo C::test2();
echo &#39;<br>&#39;;
echo A::test();
echo &#39;<br>&#39;;
echo A::test2();
echo &#39;<br>&#39;;
// 输出结果
B
C
456789
abcdef
A
123456

更多PHP延迟静态绑定示例分享相关文章请关注PHP中文网!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn