tp执行流程(初版)

入口文件

   ThinkPHP.php->

   定义了APP_PATH,Think_PATH

     runtime.php->

     再次定义常用常量,如CORE_PATH

     生成app(本项目)相关目录(build_app_dir()方法完成的) 

     接下来runtime开始调用Think.class.php 

     Think::Start();//调用Think类的Start静态方法

        Think.class.php ->

        Think::start();

        声明错误处理句柄

        声明异常处理句柄

        声明类的自动加载机制

        buildAPP,初始化app的运行

        buildAPP,初始化的意义,加载各种配置文件
        前后加载10个左右文件
        Thinkphp/conf/convention.php
        项目下的conf/config.php
        具体某一个controller的配置文件

        Think::start()把环境初始化完毕,app::run()

        APP::run()->APP::init()
        APP::init()->Dispatcher::dispatch();
        此静态方法,把地址栏的参数仔细分析
        分析出,调用哪个控制器哪个方法
        'DEFAULT_MODULE' => 'Index', // 默认模块(控制器)名称
        'DEFAULT_ACTION' => 'index', // 默认操作(方法)名称
        APP::exec()
        根据计算出来的module和action
        实例化该module并调用该action方法

       

原文地址:https://www.cnblogs.com/loveyouyou616/p/2799877.html