thinkPHP5.0框架 的调用方法和执行流程

一、调用方法。

1、调用当前控制器的test方法

        1)、使用面向对象的技术
                             echo $this->test();
                             echo self::test();
                             echo Index::test();

        2)、使用系统方法
                             echo action('test');

 2、调用User控制器下的index方法
                    1)、命名空间
                             $model=new \app\index\controller\User;

                  echo $model->index();

        2)、使用系统方法
                             echo action('User/index');

         3)、调用后台模块下Index控制器index方法
                             a、命名空间
                                    $model=new \app\admin\controller\Index;
                                    echo $model->index();

                   b、使用系统方法
                                    echo action('admin/Index/index');

 

二、执行流程。


           1、入口文件(C:\AppServ\www\tp5\public\index.php)
                      作用: 
                             1)定义目录常量

                  2)加载框架引导目录
          2、加载框架的引导文件(C:\AppServ\www\tp5\thinkphp\start.php)
                      作用:
                             1) 引导基础文件

                  2) 对应用进行运转

3、加载框架的基础引导文件(C:\AppServ\www\tp5\thinkphp\base.php);
                      作用:
                            1) 加载系统常量

                 2) 引入loader类 (C:\AppServ\www\tp5\thinkphp\library\think\loader.php)
                             

                 3) 引入环境变量

                 4) 注册自动记载机制

                 5) 注册异常处理机制(C:\AppServ\www\tp5\thinkphp\library\think\Error.php)

                 6) 记载惯例配置(C:\AppServ\www\tp5\thinkphp\convention.php)

 4、运行应用(C:\AppServ\www\tp5\thinkphp\library\think\App.php) 下的run方法;
        
                             1)、第一步: 加载当前控制器中 initCommon() 方法


                             2)、第二步: 加载当前控制器中 init() 方法
                                    a、加载各种配置文件
                                    b、加载公共文件
                                    c、加载语言包

                  3)、第三步: 设置时区

                  4)、第四步: 加载当前控制器 routeCheck() 方法 路由检测

                  5)、第五步: 调用控制器中exec方法
            根据用户请求进行分发处理

                   6)、第六步: 根据不同请求类型记载对应文件 module方法

                          加载到对应的控制器和对应方法

    5、响应输出
                           用户看到的所有界面就加载出来了

猜你喜欢

转载自blog.csdn.net/qq_43269730/article/details/100022101