后期静态绑定(Late Static Bindings)
后期静态绑定(Late Static Bindings)
从PHP 5.3.0开始,PHP实现了一个叫做后期静态绑定(late static bindings)的功能,用于引用在静态继承上下文中调用的类 。
更准确地说,后期静态绑定通过存储最后一个 "非转发调用"的类名工作. 对于静态方法调用, 这是显式命名的类(通常是在::运算符左侧的一个);对于非静态方法调用,是该对象的类。 一个“转发调用”是静态的通过self::,parent::,static::调用的,或者,如果上升到类层次结构,则是由forward_static_call()调用的. 函数 get_called_class()可以用来检索调用类的名称的字符串 并且 static:: 介绍了这个类的范围。
该功能从语言内部角度考虑被命名为”后期静态绑定“。”后期绑定“的意思是说,static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为”静态绑定“,因为它可以用于(但不限于)静态方法的调用。 …
近期评论