/** * handel request * @param string $request */ public function handelRequest($request) { $route = $this->parseUrl($request); $class = implode("\\", ["", Angel::app()->appNamespace, "controllers", ucfirst($route['controller']) . "Controller"]); if (!class_exists($class)) { Angel::error("{$class} is not found!"); throw new NotFoundException("{$request} is not found!"); } $controller = Angel::createObject(['class' => $class, 'id' => $route['controller']]); Angel::app()->controller = $controller; return $controller->run($route['action']); }
/** * load application components * @param mixed $components */ protected function loadComponents($components) { if (empty($components) || !is_array($components)) { return; } foreach ($components as $k => $v) { if (isset($v['class'])) { $this->{$k} = Angel::createObject($v); } } }