Quick specs:
PHP 5.3
error_reporting(-1) // the highest
I'm using the __get()
by reference trick to magically access arbitrarily deep array elements in an object.
Quick example:
public function &__get($key){
return isset($this->_data[$key])
? $this->_data[$key]
: null;
}
This doesn't work as when the $key
isn't set, it tries to return null
by reference, which of course throws Only variable references should be returned by reference ...
I tried modifying it as follows:
public function &__get($key){
$null = null;
return isset($this->_data[$key])
? $this->_data[$key]
: $null;
}
Still doesn't work though, I'm assuming that setting $null
to null
essentially unset()
s it.
What can I do? Thanks!
Just figured I'd promote this question, as it's somewhat relevant (PHP magic and references); __callStatic(), call_user_func_array(), references, and PHP 5.3.1. I've yet to find an answer ...besides modifying the PHP core.