_storage[$name])) { trigger_error('Name collision, cannot re-register', E_USER_ERROR); return; } $this->_storage[$name] =& $ref; } /** * Retrieves a variable reference from the context. * @param $name String name */ function &get($name) { if (!isset($this->_storage[$name])) { trigger_error('Attempted to retrieve non-existent variable', E_USER_ERROR); return; } return $this->_storage[$name]; } /** * Destorys a variable in the context. * @param $name String name */ function destroy($name) { if (!isset($this->_storage[$name])) { trigger_error('Attempted to destroy non-existent variable', E_USER_ERROR); return; } unset($this->_storage[$name]); } /** * Checks whether or not the variable exists. * @param $name String name */ function exists($name) { return isset($this->_storage[$name]); } } ?>