在PHP中覆盖派生类中的静态成员

前端之家收集整理的这篇文章主要介绍了在PHP中覆盖派生类中的静态成员前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP
class Base {
  protected static $c = 'base';

  public static function getC() {
    return self::$c;
  }
}

class Derived extends Base {
  protected static $c = 'derived';
}

echo Base::getC(); // output "base"
echo Derived::getC();    // output "base",but I need "derived" here!
?>

那么最好的解决方法是什么?

解决这个问题的最好方法升级PHP 5.3,其中有 late static bindings可用.如果这不是一个选择,那么你不得不重新设计你的课程.
原文链接:https://www.f2er.com/php/139372.html

猜你在找的PHP相关文章