On class construct create config objects from array.
If you want more then look at __set() __get() __call() class functions.
Working code:
$config = array(
'id' => 123,
'name' => 'bla bla',
'profile' => array(
'job' => 'coder',
'more' => 'info'
)
);
class Config{
public function __construct($data){
foreach($data as $k => $v){
$this->{$k} = (object)$v;
}
}
}
$c = new Config($config);
print_r($c);
echo $c->profile->job;
Response:
Config Object
(
[id] => stdClass Object
(
[scalar] => 123
)
[name] => stdClass Object
(
[scalar] => bla bla
)
[profile] => stdClass Object
(
[job] => coder
[more] => info
)
)
coder