Intereting Posts
Ошибка PHP Mailer: ошибка Mailer – должен содержать как минимум один адрес электронной почты получателя Использование строковой переменной $ dsn в качестве параметра в базе данных PDO Как изменить / Имя поля настраиваемого пароля для аутентификации пользователя Laravel 4 и Laravel 5 отображение результата запроса php mysql с отношением один к другому Как добавить регистр case для добавления перерыва после каждой записи? Как можно изменить всю часть тела документа xml, загруженного в php через simplexml? Помощь PHP с сбросом пароля и истечением срока действия токена Как получить значки сайта с PHP? Уплотнение встроенного документа в yiimongodbsuite Лучшая практика «и» Как установить глобальные переменные в OpenCart 2.3.0.2? Laravel 5: Нарушение ограничения целостности: 1062 – Многим многим Принудительная загрузка файла iscorrupted PHP Найти координаты между двумя точками Установка PHPMailer без Composer

Автоматический сеттер php и getter

Я пытаюсь реализовать некоторые автоматические getter и setter для php-объектов.

Моя цель состоит в том, чтобы автоматически использовать для каждого свойства методы getProperty() и setProperty(value) , таким образом, если метод не реализован для свойства, скрипт просто установит или получит значение.

Например, чтобы я убедился:

 class Foo { public $Bar; } $A = new A(); $A->setBar("bar"); $A->getBar(); // -> output "bar" 

или

 class Foo { public $Bar; public function setBar($bar) { $Bar = $bar; } public function getBar($bar) { return 'the value is: ' . $bar; } } $A = new A(); $A->setBar("bar"); $A->getBar(); // -> output "the value is: bar" 

Любая идея / подсказки о том, как это сделать?

    Related of "Автоматический сеттер php и getter"

    Если вы хотите имитировать функции getXy и setXy для произвольных свойств, используйте магическую оболочку __call :

     function __call($method, $params) { $var = lcfirst(substr($method, 3)); if (strncasecmp($method, "get", 3) === 0) { return $this->$var; } if (strncasecmp($method, "set", 3) === 0) { $this->$var = $params[0]; } } 

    Это была бы хорошая возможность сделать что-то полезное за один раз, добавив типовую карту или что-нибудь еще. В противном случае может быть целесообразным избегать геттеров и сеттеров .

    прочитайте magic functions of php и ваши потребности, вы можете использовать функции __get and __set

    прочитай это