Example #1
0
 public static function i()
 {
     $class = __CLASS__;
     if (is_null(self::$_instance)) {
         self::$_instance = new $class();
     }
     return self::$_instance;
 }
Example #2
0
if(!class_exists('Eden_Route_Class')){class Eden_Route_Class extends Eden_Class{protected static $_instance=NULL;protected $_route=array();public static function i(){$class=__CLASS__;if(is_null(self::$_instance)){self::$_instance=new $class();}return self::$_instance;}public function call($class){Eden_Route_Error::i()->argument(1,'string');$args=func_get_args();$class=array_shift($args);return $this->callArray($class,$args);}public function callArray($class,array $args=array()){Eden_Route_Error::i()->argument(1,'string');$route=$this->getRoute($class);if(is_object($route)){return $route;}$reflect=new ReflectionClass($route);if(method_exists($route,'i')){$declared=$reflect->getMethod('i')->getDeclaringClass()->getName();return Eden_Route_Method::i()->callStatic($class,'i',$args);}return $reflect->newInstanceArgs($args);}public function getRoute($route){Eden_Route_Error::i()->argument(1,'string');if($this->isRoute($route)){return $this->_route[strtolower($route)];}return $route;}public function getRoutes(){return $this->_route;}public function isRoute($route){return isset($this->_route[strtolower($route)]);}public function release($route){if($this->isRoute($route)){unset($this->_route[strtolower($route)]);}return $this;}public function route($route,$class){Eden_Route_Error::i()->argument(1,'string','object')->argument(2,'string','object');if(is_object($route)){$route=get_class($route);}if(is_string($class)){$class=$this->getRoute($class);}$this->_route[strtolower($route)]=$class;return $this;}}}