я вижу (и писать) много кода, как это:Почему косяк я просто использовать общественную собственность, а не смотрел на
class MyClass
{
private $_myProperty;
public function setMyPropert($myProperty)
{
$this->_myProperty = $myProperty;
}
public function getMyProperty()
{
return $this->_myProperty;
}
}
Так как мы научены, что свойства класса всегда должны быть частными.
Однако, я действительно хочу сделать это в приведенном выше сценарии:
class MyClass
{
public $myProperty;
}
Thats гораздо меньше кода и легче читать. Но другие разработчики будут смотреть на этот код и, скорее всего, не будут проверять код и т. Д. Даже если нет, я все равно никогда не сделаю этого, опасаясь, что кто-то еще увидит это и вынесет суждение.
Почему же? Это что-то, что просто укоренилось в разработчиках oop-кода? Или есть еще одна причина, по которой я отсутствую, возможно, связанная с тестированием, будущим обслуживанием или другой неочевидной технической причиной. Я говорю конкретно в сценарии, где геттер/сеттер отмечает больше, что get/set.
http://stackoverflow.com/questions/1568091/why-use-getters-and-setters – Klaasvaak
Хороший вопрос снова. Просто, но сложно ответить, особенно с фокусом на PHP. Пожалуйста, продолжайте спрашивать. Для этого здесь у меня нет времени, чтобы ответить, но у меня есть сильное чувство, это зависит от типа объекта (Value, Helper, Operator, Object/Immutable или нет). Наличие геттеров и сеттеров часто защищает вас от принятия неправильного решения, поэтому сохранение личных вещей, принадлежащих объекту (например, «свойство»), не так уж и много, и делает ваш код каким-то будущим доказательством в PHP. – hakre