Articles of getter setter

Проверьте, существует ли свойство

Можно ли проверить, существует ли свойство, которое установлено с помощью магии? class Test { private $vars; public function __set($key, $value) { $this->vars[$key] = $value; } public function &__get($key) { return $this->vars[$key]; } } $test = new Test; $test->myvar = 'yay!'; if (magic_isset($test->myvar)) { } Или это не возможно, и мне просто нужно настроить другую функцию […]

Как PHP избегает бесконечной рекурсии?

Рассмотрим этот класс: class test { public function __set($n, $v) { echo "__set() called\n"; $this->other_set($n, $v, true); } public function other_set($name, $value) { echo "other_set() called\n"; $this->$name = $value; } public function t() { $this->t = true; } } Я перегружаю магический __set() PHP. Всякий раз, когда я устанавливаю свойство в объекте test класса, он […]

Агенты для тестирования модулей (геттеры и сеттеры)

Учитывая следующие методы: public function setFoo($foo) { $this->_foo = $foo; return $this; } public function getFoo() { return $this->_foo; } Предполагая, что в будущем они могут быть более сложными: Как бы вы написали модульные тесты для этих методов? Только один метод тестирования? Должен ли я пропустить эти тесты? Как насчет покрытия кода? Как насчет аннотации […]

Каков синтаксис для доступа к свойствам объектов PHP?

Как получить доступ к свойствам объекта PHP? Кроме того, в чем разница между доступом к свойству объекта с $this->$property1 vs. $this->property1 ? Когда я пытаюсь использовать $this->$property1 я получаю следующую ошибку: 'PHP: не удается получить доступ к пустому свойству'. В документации PHP по свойствам объекта есть один комментарий, который упоминает об этом, но комментарий действительно […]

Доктрина 2 Каков рекомендуемый способ доступа к свойствам?

Я помню, что читал, что в моделях Doctrine 2 я не должен публиковать свойства / поля. Как же вы могли бы разоблачить эти поля? Используемая песочница использует методы get*() и set*() . Это лучшая идея? Это очень громоздко. Используя магические методы __get() __set() сделает вещи похожими на настраиваемые поля? Какая у вас рекомендация?

Должен ли я или не использовать методы getter и setter?

Ладно, это действительно подтачивает меня, и я начинаю думать, что все сводится к личному выбору, а не к определенному способу быть более эффективным или писать лучший код: Должен ли я или не использовать методы getter / setter в PHP-проекте ? Ответы, которые я прочитал, довольно противоречивы и не совсем подходят для PHP, который не является […]