} $module = strtolower($module); $modules = \Yaf\Application::app()->getModules(); if (in_array(ucfirst($module), $modules)) { $request->setModuleName($module); } if (false === strpos($uri, '?')) { $args = array(); } else { list($uri, $args) = explode('?', $uri, 2); parse_str($args, $args); } foreach ($args as $k => $v) { $request->setParam($k, $v); } $request->setRequestUri($uri); if ($request->isRouted() && !empty($uri)) { if (false !== strpos($uri, '/')) { list($controller, $action) = explode('/', $uri); $request->setActionName($action); } else { $controller = $uri; } $request->setControllerName(ucfirst(strtolower($controller))); } } //设置默认模块 $request->setModuleName('Shell'); // route uri => request \Yaf\Dispatcher::getInstance()->getRouter()->route($request); // dispatch this request