为了账号安全,请及时绑定邮箱和手机立即绑定

App.php-3

标签:
PHP

/**

 * 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;

}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消