constructor — объявление функции в классе для __constructor без ключевого слова public в Stack Overflow

У меня нет большей ясности после долгого поиска по ключевому слову public в __constructor функция в классе PHP.

  1. Люди говорят __constructor Сам по умолчанию публичный. Так что я не должен использовать упоминание как public,
  2. Будет ли никаких изменений, если я упомяну или не как public в public function __constructor в PHP?
  3. какова лучшая практика объявления __constructor в PHP? с или без ключевого слова public?
  4. с какими недостатками или проблемами я столкнусь, если не упомяну ключевое слово public перед public function __constructor?

0

Решение

__constructor — это метод. Видимость методов описывается в PHP Doc как:

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

Таким образом, нет необходимости писать «публичную» видимость для публичных методов.

Но все же я предпочитаю писать явно видимости (даже «публичные») для методов — код более очевиден для всех.

1

Другие решения

PSR-2 §4.3 гласит:

Видимость ДОЛЖНА быть объявлена ​​во всех методах.

__constructor является одним из «всех методов», поэтому правило применяется.

3

По умолчанию общедоступный. Рекомендуется всегда включать его, однако классы, поддерживаемые PHP4, без модификаторов доступа, поэтому часто их не используют в унаследованном коде.

0

Так как никто не упоминает об этом.

function __constructor ()

Это функция, которая будет запускаться при создании класса. Проверьте https://stackoverflow.com/a/455929/7423021 для больших деталей

0
По вопросам рекламы [email protected]