Haotik
@Haotik
PHP мидл без фреймворков

Как можно использовать Traits для установки переменных классов?

Есть идея вынести в трейт методы get и set для установки значений переменных в разных классах. Так сказать создать универсальный метод. Придумал следующую реализацию:
function setVar($name, $value) {
		$this -> $$name = $value;
	}
// вызов 
$key -> setVar('$count', $_GET['count']);


если делаю var_dump($var = $$name) внутри метода то вижу что, обращается к переменной $count b даже выводится ее значение
но непосредственно в скрипте и на странице вылетают notice

Notice: Undefined variable: $count in /media/andrey/_dde_data/projekts/php2/engine/CLSTraits.php on line 7


и здесь у меня вопросы: как может быть undefined если я в вар дамп вижу имя и значение, да и присваиваю его напрямую.

И второй вопрос как это можно обойти или реализовать? все таки сеттеры и геттеры чуть ли не самые однотипные методы в любом классе и логично именно их вынести в трейт
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
Haotik
@Haotik Автор вопроса
PHP мидл без фреймворков
Спасибо за идеи, но удалось реализовать этот вариант
function setVar($name, $value) {
$this -> $name = $value;
}
$key -> setVar('count', $_GET['count']);

Всем спасибо
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы