public function callEndpoint($options, $params) { if (is_string($options)) { $actionArray = explode("::", $options); $controller = $actionArray[0]; $action = $actionArray[1]; } else { if (is_array($options)) { $controller = $options["controller"]; $action = $options["action"]; } } Controller::autoload($controller); $c = new $controller(); $c->action = $action; $this->runFilters($c, $action, $params, $c->beforeFilters, $c->skipBeforeFilters); if (count($c->aroundFilters) == 0) { call_user_method_array($action, $c, $params); } else { $count = $this->runFilters($c, $action, $params, $c->aroundFilters, $c->skipAroundFilters); if (!$count) { call_user_method_array($action, $c, $params); } } $this->runFilters($c, $action, $params, $c->afterFilters, $c->skipAfterFilters); }