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 ...
}
答案 0 :(得分:5)
这似乎是以前版本的PHP中已修复的错误。在PHP 5.3中测试它会产生
致命错误:不允许使用多个静态修饰符
编辑:感谢Matt Gibson的发现,这确实是一个fixed somewhere in the PHP 5.3 branch的错误。