本篇文章为大家展示了如何在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 '
';
echo C::test();
echo '
';
echo B::test2();
echo '
';
echo C::test2();
echo '
';
echo A::test();
echo '
';
echo A::test2();
echo '
';