我们声明一个公共(public)静态函数,我总是使用:
class Foo {
public static function bar() {}
}
但是,我读了一个图书馆,在那里我看到:
class Foo {
static public function bar() {} // Note the inversion of public and static
}
然后我尝试在这个小片段中比较两种设计:
class Test {
public function __construct() {
$a = self::a();
$b = self::b();
var_dump($a, $b);
}
static public function a() {
return "a";
}
public static function b() {
return "b";
}
}
正如预期的那样,我在调试器中看到了“a”和“b”。
我读到在 C# 中这是完全一样的: public static vs static public - is there a difference?
但是在PHP中,这两种设计之间有什么区别还是纯粹的代码风格选择?
最佳答案
根据语言没有,但根据编码风格 PSR-2 有。
如果您不关心编码标准,您可以同时使用两者,但我强烈建议您应用通用标准。
Visibility MUST be declared on all properties and methods; abstract and final MUST be declared before the visibility; static MUST be declared after the visibility.
还有一件事,虽然 php 官方文档中没有建议的编码方式,但您可以使用它作为指南
您可以在那里找到许多资源,这些资源将对您的各种相关问题有所帮助。
关于php - PHP中的公共(public)静态函数和静态公共(public)函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56140258/