public function __get($attr) { switch ($attr) { // FIXME doesnt work at all ? case 'length': return $this->size(); break; default: return $this->{$attr}; } }