Мне кажется, я понял суть того, что вы спрашиваете.
Использование массива облегчает захват всех установленных переменных путем доступа к одной переменной, вместо того, чтобы разбирать кучу переменных класса везде, которые вы не можете легко получить. Я использую массивы так же часто, потому что я часто использую магические методы для более легкого доступа к переменным, связанным с объектом ($obj->property
, а не $obj->array['property']
).
Использование $this->{$name}
немного избыточно, если только вы не запускаете проверки внутри методов __get и __set. Например, не делайте что-то вроде этого:
function __set($property, $value) {
$this->{$property} = $value;
}
Это, по сути, то, что достигается уже с помощью $obj->property = 'some value';
...