php

位置:IT落伍者 >> php >> 浏览文章

PHP延迟静态捆绑Late Static Bindings


发布日期:2023年03月18日
 
PHP延迟静态捆绑Late Static Bindings
看了一下PHP的Late Static Bindings简单了翻译一下

Late Static Bindings是在PHP中加入的新特性拼音来说就是把本来在定义阶段固定下来的表达式

或变量改在执行阶段才决定比如当一个子类继承了父类的静态表达式的时候它的值并不能被改变

时不希望看到这种情况

<?php

class A {

public static function who() {

echo __CLASS__;

}

public static function test() {

self::who();

}

}

class B extends A {

public static function who() {

echo __CLASS__;

}

}

B::test();//输入A

?>

但是现在我想让其输出B那么使用Late Static Bindings可实现这一特性了

<?php

class A {

public static function who() {

echo __CLASS__;

}

public static function test() {

static::who(); // Late Static Bindings

}

}

class B extends A {

public static function who() {

echo __CLASS__;

}

}

B::test();//输出B

?>

上一篇:nginx+php上传大文件解决办法

下一篇:关于PHP模板技术的基本概念