Есть ли разница между публичной статической функцией и статической публичной функцией в PHP? - PullRequest
0 голосов
/ 15 мая 2019

Мы объявляем публичную статическую функцию, я всегда использую:

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 - есть ли разница?

Но в PHP есть ли разница между этими двумя проектами или это просто стиль выбора кода?

Ответы [ 2 ]

1 голос
/ 15 мая 2019

В зависимости от языка его нет, но в соответствии со стилем кодирования PSR-2 есть.

PSR-2

Если вам все равноо стандартах кодирования вы можете использовать оба, но я настоятельно рекомендую вам применять общий стандарт.

Видимость ДОЛЖНА быть объявлена ​​для всех свойств и методов;абстрактный и окончательный ДОЛЖНЫ быть объявлены до видимости;static ДОЛЖЕН быть объявлен после видимости.

Еще одна вещь, хотя в официальной документации php нет рекомендуемого способа кодирования, вы можете использовать его в качестве руководства

PHP-FIG

Вы можете найти там много ресурсов, которые будут полезны для всех относительных вопросов к вашему.

0 голосов
/ 15 мая 2019

Это то же самое. Соглашение гласит: «[public | protected | private] [статические] функции»

То есть public static function b()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...