標籤:thinkphp5
/** * URL路由檢測(根據PATH_INFO) * @access public * @param \think\Request $request * @param array $config * @return array * @throws \think\Exception */public static function routeCheck($request, array $config){ $path = $request->path(); $depr = $config[‘pathinfo_depr‘]; $result = false; // 路由檢測 $check = !is_null(self::$routeCheck) ? self::$routeCheck : $config[‘url_route_on‘]; if ($check) { // 開啟路由 if (is_file(RUNTIME_PATH . ‘route.php‘)) { // 讀取路由緩衝 $rules = include RUNTIME_PATH . ‘route.php‘; if (is_array($rules)) { Route::rules($rules); } } else { $files = $config[‘route_config_file‘]; foreach ($files as $file) { if (is_file(CONF_PATH . $file . CONF_EXT)) { // 匯入路由配置 $rules = include CONF_PATH . $file . CONF_EXT; if (is_array($rules)) { Route::import($rules); } } } } // 路由檢測(根據路由定義返回不同的URL調度) $result = Route::check($request, $path, $depr, $config[‘url_domain_deploy‘]); $must = !is_null(self::$routeMust) ? self::$routeMust : $config[‘url_route_must‘]; if ($must && false === $result) { // 路由無效 throw new HttpException(404, ‘Route Not Found‘); } } if (false === $result) { // 路由無效 解析模組/控制器/操作/參數... 支援控制器自動搜尋 $result = Route::parseUrl($path, $depr, $config[‘controller_auto_search‘]); } return $result;}
本文出自 “專註php 群號:414194301” 部落格,請務必保留此出處http://jingshanls.blog.51cto.com/3357095/1860468
[李景山php]每天TP5-20161213|App.php-3