php - PHP中的公共(public)静态函数和静态公共(public)函数有什么区别?

标签 php static styles

我们声明一个公共(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 有。

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-FIG

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

关于php - PHP中的公共(public)静态函数和静态公共(public)函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56140258/

相关文章:

php - 如何在 Laravel 上获取 iPhone 的联系人

c# - 如何更改 UWP 的复选框背景?

wpf - 获取控件的样式 {StaticResource {x :Type TextBlock}} in code behind

javascript - 如何使用 !important 内联设置显示属性

javascript - 无法访问从axios请求到laravel上传的文件

php - 如何使PHP处理函数的重载错误?

php - 动态添加的表单字段 - pdo php mysql

c++ - 是否允许并接受用删除标记静态方法?

c++ - 将此指针推回私有(private)静态成员 vector

java - 如何将变量从 java 类加载到不同的类