PHP中的公共静态函数和静态公共函数有什么区别吗?

PHP中的公共静态函数和静态公共函数有什么区别吗?,php,static,styles,Php,Static,Styles,我们声明一个公共静态函数,我始终使用: class-Foo{ 公共静态函数栏(){} } 然而,我在一个图书馆看到: class-Foo{ static public函数bar(){}//注意public和static的倒装 } 然后我尝试在这个小片段中比较这两种设计: 类测试{ 公共函数构造(){ $a=self::a(); $b=self::b(); var_dump($a,$b); } 静态公共函数a(){ 返回“a”; } 公共静态函数b(){ 返回“b”; } } 正如所料,我在

我们声明一个公共静态函数,我始终使用:

class-Foo{
公共静态函数栏(){}
}
然而,我在一个图书馆看到:

class-Foo{
static public函数bar(){}//注意public和static的倒装
}
然后我尝试在这个小片段中比较这两种设计:

类测试{
公共函数构造(){
$a=self::a();
$b=self::b();
var_dump($a,$b);
}
静态公共函数a(){
返回“a”;
}
公共静态函数b(){
返回“b”;
}
}
正如所料,我在调试器中看到了“a”和“b”

我在C#中读到,这是完全相同的:


但是在PHP中,这两种设计之间有什么区别吗?还是纯粹的代码风格选择?

这是相同的。公约是“[公共|保护|私人][静态]功能”


因此,
公共静态函数b()

根据语言没有,但根据编码样式PSR-2有

如果您不关心编码标准,您可以同时使用这两种标准,但我强烈建议您应用通用标准

必须对所有属性和方法声明可见性;抽象和最终必须在可见性之前声明;必须在可见性之后声明static

还有一件事,尽管在php官方文档中没有建议的编码方式,但您可以使用它作为指南


您可以在那里找到许多资源,这些资源将有助于解决您的所有相关问题。

我很确定这是真的,但我真的希望有一些东西能够证明这一点。在官方文件中找不到这种情况。这与“棕色大狗”和“棕色大狗”之间的区别相同。非常感谢您提供所有这些详细信息。我坚持PSR-2已经有很长一段时间了,但这在我的脑海中是一个灰色地带。