public function __get($name) { if (isset($this->_class_index[$name])) { $obj = registry::grab($this->_class_index[$name][0], $this->_class_index[$name][1]); if ($obj) { return $obj; } } if (!$this->_shorts_loaded) { $this->_shorts = static::__shortcuts(); $this->_shorts_loaded = true; } $obj = false; if (isset($this->_shorts[$name])) { if (is_array($this->_shorts[$name])) { $obj = registry::register($this->_shorts[$name][0], $this->_shorts[$name][1]); } else { $obj = registry::register($this->_shorts[$name]); } } elseif (isset(registry::$aliases[$name])) { if (is_array(registry::$aliases[$name])) { $obj = registry::register(registry::$aliases[$name][0], registry::$aliases[$name][1]); } else { $obj = registry::register(registry::$aliases[$name]); } } elseif (registry::class_exists($name)) { $obj = registry::register($name); } if ($obj) { $this->_class_index[$name] = array(get_class($obj), $obj->class_hash); return $obj; } if ($const = registry::get_const($name)) { return $const; } return null; }