Хорошо, это действительно подтачивает меня, и я начинаю думать, что все сводится к личному выбору, а не к определенному способу быть более эффективным или писать лучший код: Должен ли я или не использовать методы getter/setter внутри проект PHP? Ответы, которые я прочитал, довольно противоречивы и не совсем подходят для PHP, который не является скомпилированным языком. Например, возьмите этот вопрос в Qaru ( "Зачем использовать геттеры и сеттеры?" ). Там есть несколько веских причин, почему я должен использовать их в своем коде, но все комментарии ребенка упоминают, как Аксессоры являются злыми и должны следует избегать, чередуясь между несколькими более тревожными комментариями, в которых упоминается, что их следует избегать полностью, потому что он "скручивает ваш код".
Все, что я получаю, это противоречивые ответы, ни одна из которых не относится к интерпретируемой среде PHP. Кто-то может рассказать о том, почему/почему они не должны использоваться в PHP, и их обоснование этого решения? Действительно ли имеет значение, если мы можем просто определить свойство как личное или защищенное и, во всяком случае:
Инкапсулирующие геттеры и сеттеры предлагают смехотворно тонкие
... цитируется из "sbi" (зачем использовать геттеры и сеттеры?)
Лично я все еще не вижу, как:
Class Foo {
public $bar;
function setBarType($val) {
$this->bar = $val;
}
}
$fee = new Foo();
$fee->setBarType(42);
превосходит это:
Class Foo {
public $bar;
}
$fee = new Foo();
$fee->bar = 42;