PHP延迟静态绑定示例分享

yipeiwu_com6年前PHP代码库

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

<?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

相关文章

使用PHP json_decode可能遇到的坑与解决方法

前言 最近在做网站 的时候用到了json_decode函数,发现了一个问题,现在总结分享出来供大家参考学习,话不多说了,来一起看看详细的介绍吧。 场景: 某项目客户反馈,输出的结果 JS...

require(),include(),require_once()和include_once()区别

我把这两个语句放在一起介绍,读者可以比较学习。 1.require()语句 require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样。如果php配置文件...

redis查看连接数及php模拟并发创建redis连接的方法

max_redis.php <?php set_time_limit (0); for($i=1;$i<=1050;$i++){ exec("nohup p...

php下用cookie统计用户访问网页次数的代码

如何创建 cookie? setcookie() 函数用于设置 cookie。 注释:setcookie() 函数必须位于 <html> 标签之前。 创建您的第一个PHP c...

50个PHP程序性能优化的方法

1、 用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数...