加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PHP静态耽误绑定和平凡静态服从的比拟

发布时间:2021-03-14 02:29:19 所属栏目:编程 来源:网络整理
导读:PHP静态耽误绑定和平凡静态服从的比拟 只是一个简朴的小尝试,比拟了下 耽误绑定 和 非耽误的服从 耽误绑定首要就是行使 static 要害字来更换原本的 self ,但成果很是强盛了 尝试代码: public static function n1() { return static::$cc1; } public stati

PHP静态耽误绑定和平凡静态服从的比拟

只是一个简朴的小尝试,比拟了下 耽误绑定 和 非耽误的服从

耽误绑定首要就是行使 static 要害字来更换原本的 self ,但成果很是强盛了

尝试代码:

public static function n1() {
return static::$cc1;
}
public static function n2() {
return static::$cc2;
}
public static function n3() {
return static::$cc3;
}
public static function n4() {
return static::$cc4;
}
public static function n5() {
return static::$cc5;
}
}

class C extends A {

}

class B {
protected static $cc1 = array('a1','d');

public static function n1() {
return self::$cc1;
}
public static function n2() {
return self::$cc2;
}
public static function n3() {
return self::$cc3;
}
public static function n4() {
return self::$cc4;
}
public static function n5() {
return self::$cc5;
}
}

上面总共 A 、B 、C 三个类,内里满是静态成员变量和要领,个中

A 类是行使了静态耽误, B 类长短耽误, C 类是担任A类实现了静态成员变量和要领的耽误绑定。

进程也不多说了,情形是 PHP5.4.27 直接上测试功效:

有两种环境,

1. 当只有 A、B类(也就是不让任何类担任A类)时,服从上险些没有不同的

2. 当A类被C类担任了之后,行使静态耽误绑定的A类机能将会比 B类稍差一些(只要A类有了担任的类就会变慢)

轮回十万次,耗时在 2.8s ~ 3.2s 之间 时刻差距在 0.3 秒阁下,应该照旧可以忽略不计了吧

增补个:

其后加了些测试要领,假如 C 类担任 A 类后,重载了部门 A 类中的静态成员变量,重载的越多则速率和 B 类(非耽误)就越靠近,但 A 类的速率如故会比 B 类 和 C 类慢

若有疑问请留言可能到本站社区交换接头,感激阅读,但愿能辅佐到各人,感谢各人对本站的支持!

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读