/** * 解析请求的URI,获得PANDAURI * @access public * @author songdengtao <http://www.songdengtao.cn/> * @return string */ public function getPandaUri() { $queryVar = \Pandaphp::get('httpQueryStr'); $inputData = \Pandaphp::shell('Input::get'); $queryStr = ''; if (isset($inputData[$queryVar])) { $mdlCtrlActStr = $inputData[$queryVar]; if (\Pandaphp::shell('Str::isEnd', $mdlCtrlActStr, $this->urlHtmlSuffix)) { $queryStr .= str_replace($this->urlHtmlSuffix, '', $mdlCtrlActStr); } else { $queryStr .= $mdlCtrlActStr; } $queryStr = str_replace('/index.php', '', $queryStr) . '/'; } $subDomain = \Pandaphp::shell('Http::getSubDomain'); $isDomainDeploy = $this->urlDomainDeployOn && (isset($this->urlDomainDeployMapping[$subDomain]) || empty($subDomain)); if ($isDomainDeploy) { if (empty($subDomain)) { $subDomain = 'www'; } $runtimeModule = $this->urlDomainDeployMapping[$subDomain]; } else { if (isset($inputData[$queryVar])) { $runtimeModule = substr($queryStr, 1, strpos(trim($queryStr, '/'), '/')); } else { $runtimeModule = $this->defaultModule; } } \Pandaphp::set('runtimeModule', $runtimeModule); $this->defaultController = \Pandaphp::shell('Config::get', 'default_controller'); $this->defaultAction = \Pandaphp::shell('Config::get', 'default_action'); if (isset($inputData[$queryVar])) { $queryStr = '/' . $runtimeModule . $queryStr; unset($inputData[$queryVar]); } else { $queryStr .= '/' . $runtimeModule . '/' . $this->defaultController . '/' . $this->defaultAction . '/'; } foreach ($inputData as $key => $val) { $queryStr .= $key . '/' . $val . '/'; } return $queryStr; }
<?php /** * 项目入口文件 */ require_once dirname(__DIR__) . '/framework/Pandaphp.php'; // 生产环节请将debug 设置为false Pandaphp::set('debug', true); // 根据环境,自定义读取配置文件 Pandaphp::set('status', 'development'); Pandaphp::run();