public function run() { if (file_exists(CONTROLLERS . $this->_controller . 'Ctrl.php')) { require_once CONTROLLERS . $this->_controller . 'Ctrl.php'; if (class_exists($this->_controller)) { $controller = new $this->_controller($this->cnx, $this->cnxComum); $action = $this->_action; if (method_exists($controller, $action)) { $controller->{$action}($this->_parameters, $this->_data); } else { //metodo nao existe parent::route($this->_url, $this->_explode); } } else { //classe nao existe //parent::route($this->_url,$this->_explode); //http_response_code(404); header("HTTP/1.0 404 Not Found"); echo "Classe não encontrada: " . $this->_controller; } } else { //arq controller nao encontrado //parent::route($this->_url,$this->_explode); //echo phpinfo(); //http_response_code(404); header("HTTP/1.0 404 Not Found"); echo "Controller n enc"; } }
public static function createInstance() { if (self::$route === null) { self::$route = new Route(); } return self::$route; }
public static function processView($params, &$view) { if (!isset($params['get'])) { return ''; } $params['get'] = Route::route($params['get'], $params); if (!Request::isAvailable($params['get'], 'get')) { return; } $vars_backup = $view->_tpl_vars; if (is_array($params)) { foreach ($params as $name => $value) { $view->assign($name, $value); } } list($controller, $action, $data) = Url::route($params['get'], 'get'); $handler = Url::handler($controller, $action); if (empty($handler)) { return ''; } if (!empty($params['display'])) { $handler .= '.' . $params['display']; } $result = $view->fetch('Modules/' . $handler . '.tpl'); $view->_tpl_vars = $vars_backup; if (!empty($params['wrapper']) && !empty($result)) { return '<div class="' . $params['wrapper'] . '">' . $result . '</div>'; } return $result; }
private static function changeRouteToRegex() { self::getParametersName(); self::$route = preg_replace('#{[\\w]+}#', '[\\w]+', self::$route); self::$route = preg_replace('#\\/#', '\\/', self::$route); self::$route = '^' . self::$route . '$'; }
/** * Launches the calculation of the current Route. * * @return array The route */ public static function getRoute() { $route = self::$route; if (!empty($route)) { return $route; } $route = self::parseURL(self::$query); $clean_query = rtrim(self::$query, '/'); self::$route = $route; return $route; }
public static function run($resource, $method) { $top = count(self::$stack) - 1; if ($top < 0) { return; } $isExternal = $top == 0; $resource = Route::route($resource, self::$stack[$top]); if (!self::isAvailable($resource, $method)) { if ($isExternal) { $resource = 'errors/access-denied'; } else { return ''; } } list($controller, $action, $data) = Url::route($resource, $method); self::$stack[$top] = array_merge(self::$stack[$top], $data); $handler = Url::handler($controller, $action); if ($isExternal) { Middleware::processBefore($resource, $action, self::$stack[$top], $method); self::runHandler($handler); Middleware::processAfter($resource, $action, self::$stack[$top], $method); } else { if (!self::runInternalHandler($handler)) { return ''; } } if (!empty(self::$stack[$top]['display'])) { $handler .= '.' . self::$stack[$top]['display']; } if ($isExternal && self::$response->code == '404 Not Found') { list($controller, $action, $data) = Url::route('errors/not-found', 'get'); $handler = Url::handler($controller, $action); self::$response->result("error", self::$response->code); } if ($isExternal && self::$response->code == '403 Forbidden') { list($controller, $action, $data) = Url::route('errors/not-found', 'get'); $handler = Url::handler($controller, $action); self::$response->result("error", self::$response->code); } $r = self::$response->fetch($handler, $isExternal); if ($isExternal) { Language::rewrite($r); } return $r; }
/** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create(AddProduct $request) { Product::create($request->all()); return Route::route(''); }