Классы PHP зачем использовать ключевое слово public?

почему я должен объявлять свойства класса (переменные) или методы (функции), используя ключевое слово public, если они общедоступны по умолчанию? Или нет?

чтобы сформулировать мой вопрос по-другому, это public лишним? Я понимаю!--2--> и protected, но зачем объявлять public Если члены класса являются публичными в любом случае?

4 ответов


Да public по умолчанию (см. visibility docs).

люди добавляют его, поэтому он согласуется со всеми другими методами / свойствами.

кроме того, если вы хотите объявить общественной собственностью и не хотите использовать public вам нужно будет использовать var, что не рекомендуется и, вероятно, будет устаревшей в какой-то момент.


начиная с php 5.3 (я думаю, прошло некоторое время), использование ключевого слова var вызывает ошибки E_STRICT, поэтому public должен использоваться для объявления объектов vaiables. Что касается функций, я считаю, что это больше похоже на последовательность.


конечно, это избыточно, так как это уровень видимости по умолчанию. Вы должны избегать их, когда можете. Некоторые люди добавляют public ключевое слово явно, чтобы код был немного более читаемым.


нет технической причины использовать public однако ключевое слово видимости требуется PSR-2 для всех функций, поэтому, если вы хотите следовать PSR-2, вы должны использовать его:

4.3. Методы

видимость должна быть объявлена для всех методов.

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#43-methods