public function getMethod($class = NULL, $method = NULL, array $args = array()) { $route = Eden_Route_Method::i(); if (is_null($class) || is_null($method)) { return $route; } return $route->call($class, $method, $args); }
/** * Calls a class considering all routes. * * @param *string class * @param array arguments * @return object */ public function callArray($class, array $args = array()) { //argument 1 must be a string 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); }
if(!class_exists('Eden_Route')){class Eden_Route extends Eden_Class{protected static $_instance=NULL;public static function i(){$class=__CLASS__;if(is_null(self::$_instance)){self::$_instance=new $class();}return self::$_instance;}public function getClass($class=NULL,array $args=array()){$route=Eden_Route_Class::i();if(is_null($class)){return $route;}return $route->callArray($class,$args);}public function getFunction($function=NULL,array $args=array()){$route=Eden_Route_Function::i();if(is_null($function)){return $route;}return $route->callArray($function,$args);}public function getMethod($class=NULL,$method=NULL,array $args=array()){$route=Eden_Route_Method::i();if(is_null($class) || is_null($method)){return $route;}return $route->call($class,$method,$args);}}}