Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Обязательно ли в OOP писать перед свойствами и методами модификаторы?
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Обязательно ли в OOP писать перед свойствами и методами модификаторы?

Страниц (1): [1]
 

1. Clerik - 01 Ноября, 2016 - 16:44:09 - перейти к сообщению
Недавно начал изучать oop и считал, что перед каждым свойством и методом нужно ставить модификаторы public, private, protected. На одном сайте обнаружил код в нем не используются модификаторы.
Вопрос почему?
PHP:
скопировать код в буфер обмена
  1.  
  2. class CookieLover {
  3. static $loversCount = 0;//статическое свойство
  4. function __construct(){++self::$loversCount;} // увеличиваем на 1
  5. static function welcome(){ //статический метод
  6. echo 'Добро пожаловать в клуб любителей булочек!';
  7. //Никаких $this внутри статического метода!
  8. }}
  9. $vasyaPupkin = new CookieLover(); //первый объект
  10. $frosyaBurlakova = new CookieLover(); //второй объект
  11. print ('Текущее количество любителей булочек: '.
  12. CookieLover::$loversCount);
  13. print (CookieLover::welcome());
  14.  
2. Мелкий - 01 Ноября, 2016 - 16:56:45 - перейти к сообщению
Наследие php4, где всё было public. Поэтому это не является ошибкой парсера, если видимость не объявлена, то считается как public. Ключевое слово var для свойств оттуда же.

psr-2 явным образом требует
Цитата:
Visibility MUST be declared on all properties and methods

Поэтому указывать всегда.

 

Powered by ExBB FM 1.0 RC1