美文网首页
ThinkPHP 5.0 (四)生命周期-2

ThinkPHP 5.0 (四)生命周期-2

作者: Amazing慕丶涵 | 来源:发表于2020-08-25 19:52 被阅读0次

    5、应用初始化

    执行应用的第一步操作就是对应用进行初始化,包括:

    • 加载应用(公共)配置;
    • 加载扩展配置文件(由extra_config_list定义);
    • 加载应用状态配置;
    • 加载别名定义;
    • 加载行为定义;
    • 加载公共(函数)文件;
    • 注册应用命名空间;
    • 加载扩展函数文件(由extra_file_list定义);
    • 设置默认时区;
    • 加载系统语言包;

    6、URL访问检测

    应用初始化完成后,就会进行URL的访问检测,包括PATH_INFO检测和URL后缀检测。

    5.0的URL访问必须是PATH_INFO方式(包括兼容方式)的URL地址,例如:

    http://serverName/index.php/index/index/hello/val/value
    

    所以,如果你的环境只能支持普通方式的URL参数访问,那么必须使用

    http://serverName/index.php?s=/index/index/hello&val=value
    

    如果是命令行下面访问入口文件的话,则通过

    $php index.php index/index/hello/val/value...
    

    获取到正常的$_SERVER['PATH_INFO']参数后才能继续。

    7、路由检测

    如果开启了url_route_on参数的话,会首先进行URL的路由检测。

    如果一旦检测到匹配的路由,根据定义的路由地址会注册到相应的URL调度。
    5.0的路由地址支持如下方式:

    • 路由到模块/控制器/操作;
    • 路由到外部重定向地址;
    • 路由到控制器方法;
    • 路由到闭包函数;
    • 路由到类的方法;

    路由地址可能会受域名绑定的影响。

    如果关闭路由或者路由检测无效则进行默认的模块/控制器/操作的分析识别。

    如果在应用初始化的时候指定了应用调度方式,那么路由检测是可选的。
    可以使用 \think\App::dispatch() 进行应用调度,例如:
    App::dispatch(['type' => 'module', 'module' => 'index/index']);

    相关文章

      网友评论

          本文标题:ThinkPHP 5.0 (四)生命周期-2

          本文链接:https://www.haomeiwen.com/subject/duuzjktx.html