/** * @return object */ public static function get($type, $name) { $name = Inflector::camelize($name); $registry = GummRegistry::getRegistry(); $regKey = $type . '_' . $name; if (isset($registry[$regKey])) { return $registry[$regKey]; } App::import($type, $name); $objName = false; switch (strtolower($type)) { case 'model': $objName = $name . 'Model'; break; case 'controller': $objName = $name . 'Controller'; break; case 'helper': $objName = $name . 'Helper'; break; case 'widget': $objName = $name; break; case 'component': $objName = $name . 'Component'; break; case 'editor': $objName = $name . 'Editor'; break; } $obj = new $objName(); GummRegistry::updateRegistry($regKey, $obj); return $obj; }