PHP延迟静态绑定

来源:互联网 发布:手机图片制作软件 编辑:程序博客网 时间:2024/05/15 23:44

延迟静态绑定是PHP5.3之后进入的,从名字中可以看出延迟和静态两个关键字。一般来讲,用static修饰的成员变量和方法,其内容在类编译的过程中就已经绑定了,归类所有,对象共享。子类可以继承但是不能重写或覆盖。

引用延迟静态绑定,可以让静态成员在真正使用的时候再定义,并不是在编译时定义。

示例:

class vip{    static $info = "这是一个普通会员";    static function usergroup(){        echo self::$info;    }}class svip extends vip{    static $info = "这是一个超级会员";}
svip::usergroup

输出的是“这是一个普通会员”。
当使用延迟静态绑定时,用static关键字代替self关键字。

class vip{    static $info = "这是一个普通会员";    static function usergroup(){        echo static::$info;    }}class svip extends vip{    static $info = "这是一个超级会员";}
这次输出的是“这是一个超级会员”。

延迟静态绑定就是这个作用,根据类最终继承来判断绑定。

0 0
原创粉丝点击