[李景山php]每天TP5-20161213|App.php-3

/**
 * 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;
}
时间: 2024-10-27 13:29:50

[李景山php]每天TP5-20161213|App.php-3的相关文章

[李景山php]每天TP5-20161211|App.php-1

// +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2016 http://thinkphp.cn All rights

[李景山php]每天TP5-20161212|App.php-2

public static function run(Request $request = null) {// thinkphp经过了 自动加载.错误接管.配置文件预设,终于开始执行了.     // 第一步:获取请求参数     is_null($request) && $request = Request::instance();     // self::$instance = new static($options); 执行了 这个 instance     // 默认 没有传入任

[李景山php]每天TP5-20161207|Loader.php-5

/**  * 实例化(分层)模型  * @param string $name         Model名称  * @param string $layer        业务层名称  * @param bool   $appendSuffix 是否添加类名后缀  * @param string $common       公共模块名  * @return Object  * @throws ClassNotFoundException  */ public static function m

[李景山php]每天laravel-20160922|RedisServicProvider.php

<?php namespace Illuminate\Redis; use Illuminate\Support\ServiceProvider; // this namespace class RedisServiceProvider extends ServiceProvider {     /**      * Indicates if loading of the provider is deferred.      *      * @var bool      */     prot

[李景山php]每天TP5-20170107|thinkphp5-Lang.php

<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2016 http://thinkphp.cn All 

[李景山php]每天TP5-20170108|thinkphp5-Log.php

<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2016 http://thinkphp.cn All 

[李景山php]每天TP5-20161206|Loader.php-4

// 注册composer自动加载 private static function registerComposerLoader() {// 默认没有 ,不会执行     if (is_file(VENDOR_PATH . 'composer/autoload_namespaces.php')) {         $map = require VENDOR_PATH . 'composer/autoload_namespaces.php';         foreach ($map as $

[李景山php]每天TP5-20161222|thinkphp5-Cache.php

<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2016 http://thinkphp.cn All 

[李景山php]每天laravel-20160831|EventServiceProvider

<?php namespace Illuminate\Events; use Illuminate\Support\ServiceProvider; class EventServiceProvider extends ServiceProvider {// Event Service Provider extends Service Provider     /**      * Register the service provider.      *      * @return void