Нужно объявить класс атрибутистов?

0

декларирование

class MyClass
{

  public $someVar;

  function __construct()
  {
    $this->someVar = 'some value';
  }
}

Не объявляя

class MyClass
{
  function __construct()
  {
    $this->someVar = 'some value';
  }
}

Оба способа работают, но я хотел бы знать, есть ли разница в производительности или даже шаблоне.

  • 2
    Если вы не объявляете свойства класса, то любые новые динамически создаваемые вами свойства всегда будут публичными (вы не можете контролировать видимость)
  • 1
    Если вы не объявляете свойства класса, они не могут быть подсказаны IDE
Теги:
oop

1 ответ

0
Лучший ответ

Ага. Причина, когда вы объявляете атрибуты в объявлении класса, у вас есть сетевые профи:

  1. Глядя на декларацию, другой разработчик может найти, какие свойства он может использовать (если вы не хотите, чтобы другие разработчики использовали их) объявите их защищенными/частными, см. Ниже)
  2. Вы можете установить флаги видимости вручную - набор лучших практик установлен по умолчанию и изменить уровень доступа только в случае необходимости (лучше использовать geters/seters)
  3. Вы и другие разработчики получили автозаполнение в среде IDE
  • 0
    Хорошо, хорошие моменты

Ещё вопросы

Сообщество Overcoder
Наверх
Меню