PHP5静态关键字和用法

时间:2011-02-21 14:40:13

标签: php static

static关键字已知为自由代理。

您可以通过编写声明“静态”方法:

protected static function foo() {
// lots of self:: code in here
}

或者:

static protected function bar() {
// lots of self:: code in here
}

我刚刚遇到了以下代码:

static protected static function foobar() {
// lots of self:: code in here
}

肯定这是原作者的错误,但为什么PHP接受这个作为有效声明?


更新相关版本为 PHP 5.2.16 。我刚刚确认,这也是有效的:

static static static public static function foobar() {
// lots ...
}

1 个答案:

答案 0 :(得分:5)

这似乎是以前版本的PHP中已修复的错误。在PHP 5.3中测试它会产生

  

致命错误:不允许使用多个静态修饰符

编辑:感谢Matt Gibson的发现,这确实是一个fixed somewhere in the PHP 5.3 branch的错误。