我们声明一个公共静态函数,我一直使用:
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 中,这两种设计之间是否存在差异?还是纯粹的代码风格选择?
答案 0 :(得分:1)
根据语言,没有,但是根据PSR-2的编码样式。
如果您不关心编码标准,则可以同时使用这两种标准,但我强烈建议您应用通用标准。
必须在所有属性和方法上声明可见性;摘要和最终结果必须在可见性之前声明;可见性之后必须声明static。
还有一件事情,尽管php官方文档中没有建议的编码方式,您可以将其用作指南
您可以在此处找到许多资源,这些资源将对您遇到的各种相关问题有所帮助。
答案 1 :(得分:0)
这是相同的。约定是“ [public | protected | private] [static]函数”
所以{"lat":-34.397,"lng":150.644}