Есть ли способ создать все свойства экземпляра динамически? Например, я хотел бы иметь возможность генерировать все атрибуты в конструкторе и по-прежнему иметь доступ к ним после создания экземпляра класса следующим образом: $object->property
. Обратите внимание, что я хочу получить доступ к свойствам отдельно и не использовать массив; здесь пример того, чего я не хочу:
class Thing {
public $properties;
function __construct(array $props=array()) {
$this->properties = $props;
}
}
$foo = new Thing(array('bar' => 'baz');
# I don't want to have to do this:
$foo->properties['bar'];
# I want to do this:
//$foo->bar;
Чтобы быть более конкретным, когда я имею дело с классами, которые имеют большое количество свойств, я хотел бы иметь возможность выбирать все столбцы в базе данных (которые представляют свойства) и создавать из них свойства экземпляра. Каждое значение столбца должно храниться в отдельном экземпляре.