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

时间:2019-05-15 00:22:47

标签: php static styles

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

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 中,这两种设计之间是否存在差异?还是纯粹的代码风格选择?

2 个答案:

答案 0 :(得分:1)

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

PSR-2

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

  

必须在所有属性和方法上声明可见性;摘要和最终结果必须在可见性之前声明;可见性之后必须声明static。

还有一件事情,尽管php官方文档中没有建议的编码方式,您可以将其用作指南

PHP-FIG

您可以在此处找到许多资源,这些资源将对您遇到的各种相关问题有所帮助。

答案 1 :(得分:0)

这是相同的。约定是“ [public | protected | private] [static]函数”

所以{"lat":-34.397,"lng":150.644}