/** * get all routes * get the URLs, the variables, the modules and the actions of all routes, use the "/applications/config/routes.xml" file. * @param string current url (optionnal) * @return array list of routes object */ public function getAllRoutes($currentUrl = null) { //get content of the file. $xml = new \DOMDocument(); $xml->load(__DIR__ . '/../applications/config/routes.xml'); $file = $xml->getElementsByTagName('route'); //parse the content. $varsNames = array(); $varsValues = array(); $varsList = array(); foreach ($file as $line) { //create the route. $varsNames = explode(',', $line->getAttribute('vars')); //get the name of all variables $route = new route($line->getAttribute('url'), $line->getAttribute('module'), $line->getAttribute('action'), $line->getAttribute('name'), $varsNames); //get variables. if ($varsValues = $route->match($currentUrl)) { array_shift($varsValues); // the first result contain the full captured string (cf. pregmatch manual). foreach ($varsValues as $key => $match) { $varsList[$varsNames[$key]] = $match; } $route->setVars($varsList); } //add the route to the router. $this->addRoute($route); } //return all routes. return $this->routes; }
| 后台通用route |-------------------------------------------------------------------------- */ route::group(array('prefix' => 'shopadmin'), function () { # 系统分类 route::match(array('GET', 'POST'), '/', array('as' => 'shopadmin', 'uses' => 'desktop_router@dispatch')); }); /* |-------------------------------------------------------------------------- | setup |-------------------------------------------------------------------------- */ route::group(array('prefix' => 'setup'), function () { # 安装首页 route::match(array('GET', 'POST'), '/', ['as' => 'setup', 'uses' => 'setup_ctl_default@index']); # 安装页 route::match(array('GET', 'POST'), '/default/process', ['uses' => 'setup_ctl_default@process']); # 命令行安装 route::match(array('GET', 'POST'), '/default/install_app', ['uses' => 'setup_ctl_default@install_app']); # console route::match(array('GET', 'POST'), '/default/console', ['uses' => 'setup_ctl_default@console']); # 激活 route::match(array('GET', 'POST'), '/default/active', ['uses' => 'setup_ctl_default@active']); # 激活成功 route::match(array('GET', 'POST'), '/default/success', ['uses' => 'setup_ctl_default@success']); # 环境初始化 route::match(array('GET', 'POST'), '/default/initenv', ['uses' => 'setup_ctl_default@initenv']); # 女装初始化数据 route::match(array('GET', 'POST'), '/default/install_demodata', ['uses' => 'setup_ctl_default@install_demodata']); route::match(array('GET', 'POST'), '/default/setuptools', ['uses' => 'setup_ctl_default@setuptools']); });