PHP静态延迟绑定简单示例

时间:2023-03-08 17:50:31
PHP静态延迟绑定简单示例

没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了

<?php
class A {
protected static $def = '123456'; public static function test() {
echo get_class(new static);
} public static function test2() {
echo static::$def;
}
} class B extends A {
protected static $def = '456789';
} class C extends A {
protected static $def = 'abcdef';
} echo B::test();
echo '<br>';
echo C::test();
echo '<br>';
echo B::test2();
echo '<br>';
echo C::test2();
echo '<br>';
echo A::test();
echo '<br>';
echo A::test2();
echo '<br>';
// 输出结果
B
C
456789
abcdef
A
123456