public static function run() { self::init(); //启动数据组件 $Capsule = new Capsule(); $Capsule->addConnection(config::get('database')); // 使用DB $Capsule->bootEloquent(); $controller = sf::getController(router::getController()); try { method_exists($controller, "load") && $controller->load(); if (!method_exists($controller, router::getMethod())) { throw new sfException(sprintf(lang::get("Call to undefined method %s::%s"), get_class($controller), router::getMethod())); } $controller->{router::getMethod()}(); method_exists($controller, "shutdown") && $controller->shutdown(); } catch (sfException $e) { method_exists($controller, "shutdown") && $controller->shutdown(); $e->halt(); } }
private static function set_request($get = array()) { $loaders = spl_autoload_functions(); //findFile try { if (is_dir(config::get("controller_dir", APPPATH . "controller/") . self::$folder . $get[0])) { self::$folder .= array_shift($get) . "/"; self::set_request($get); return; } elseif (is_file($loaders[0][0]->findFile('App\\Controller\\' . self::$folder . $get[0]))) { self::$get['controller'] = self::$folder . array_shift($get); self::$get['method'] = $get[0] ? array_shift($get) : config::get("router.default_method", 'index'); } else { throw new sfException(lang::get("The controller is not find!")); } for ($i = 0, $n = count($get); $i < $n; $i += 2) { self::$get[$get[$i]] = str_replace("'", "’", $get[$i + 1]); } } catch (sfException $e) { $e->halt(); } }