Static :: on私有成员

时间:2012-08-24 11:53:06

标签: php static

它有什么意义吗?

public static function a(){

  static::_b();

}

private static function _b(){

}

static在任何情况下都与self相同,因为你不能覆盖子类中的私有函数,对吗?

1 个答案:

答案 0 :(得分:2)

德国阿灵顿在评论中说。子类可以拥有它自己的_b()实现 - 即使具有不同的可见性。

<?php
class Foo {
    public static function a() { static::_b(); }
    private static function _b() { echo 'Foo'; }
}

class FooEx extends Foo {
    public static function _b() { echo 'FooEx'; }
}

FooEx::a();

打印FooEx