理解PHP延迟静态绑定:
简单理解PHP延迟静态绑定:
static::中的static其实是运行时所在类的别名,并不是定义类时所在的那个类名。这个东西可以实现在父类中能够调用子类的方法和属性。所谓“延迟“等于“跳过“父类进入运行时类!也就是说,是通过计算得到最后所属的运行时山下文环境。
“延迟“不知是翻译的问题还是核心开发者使用了比较隐晦的词!延迟静态绑定只是为了解决PHP类继承中父类无法访问子类对象属性的缺陷!“延迟”给刚接触这个功能的朋友带来了解读困难。我是这么理解的。
static::中的static其实是运行时所在类的别名,并不是定义类时所在的那个类名。这个东西可以实现在父类中能够调用子类的方法和属性。所谓“延迟“等于“跳过“父类进入运行时类!也就是说,是通过计算得到最后所属的运行时山下文环境。
“延迟“不知是翻译的问题还是核心开发者使用了比较隐晦的词!延迟静态绑定只是为了解决PHP类继承中父类无法访问子类对象属性的缺陷!“延迟”给刚接触这个功能的朋友带来了解读困难。我是这么理解的。