1.后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);当进行非静态方法调用时,即为该对象所属的类。该功能从语言内部角度考虑被命名为“后期静态绑定”。“后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。
2.测试示例:
class a{ public function run()
{ static::test(); //后期静态绑定
self::test(); //不是后期静态绑定 }
public static function test()
{ echo 'a class<br>';
}}class b extends a
{ public static function test()
{ echo 'b class<br>'; }}
$a = new b();$a->run();
//输出结果
//b class
//a class
相关推荐:
laravel中一个后期静态绑定详细说明
php面向对象之后期静态绑定功能介绍
php后期静态绑定
以上就是php后期静态绑定实例分享的详细内容。