[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Динамическое создание свойства класса
NitroGenerate
Всем доброго времени суток, прошу форумчан помочь мне разобраться, как динамически назначать свойства класса.


if($user->attributes){
foreach ($user->attributes as $key => $value) {
$user->attribute->{$value->name} = $value->value;
}
}



Ошибка (can not access empty property) в строчке: $user->attribute->{$value->name} = $value->value; Мне нужно динамически создать новое свойство.
php ругается на мое ->{$value->name}.
Вопрос, прост и банален, как иначе избавиться от этого ? Как заставить создать переменные динамически без fatal error'ов
Структуру нарушать нельзя, тоесть я не могу создать переменную в виде массива и кидать туда мои новые свойства
kaww
class user
{
private $_attributes = array();

public function __get($name)
{
return isset($this->_attributes[$name]) ? $this->_attributes[$name] : null;
}

public function __set($name, $value)
{
$this->_attributes[$name] = $value;
}
}


$user = new user();
$user->name = 'Modest';

var_dump($user->name);

Магия http://php.net/manual/ru/language.oop5.magic.php
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.