If you have:
$reg = new registry();
$reg->arr = array(1,2,3);
$reg->arr = 4;
And you expect:
Array
(
[arr] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
)
All you have to do is update your method __setto:
public function __set($key, $val){
if(!array_key_exists($key, $this->_vars)){
$this->_vars[$key] = array();
}
$this->_vars[$key] = array_merge($this->_vars[$key], (array)$val);
}
maček source
share