tp5架构详解和跨控制器调用

2025-10-27 15:26:20

1、1、tp架构的概述

thinkphp使用了mvc设计模式

tp5架构详解和跨控制器调用

2、2、url解析

http://www.tp5.net/   index.php/   index/   index/        index

              域名               入口文件      前台     前台控制器     方法

tp5架构详解和跨控制器调用

3、3、入口文件

D:\phpStudy\WWW\tp5\public\index.php

作用:负责整个http的请求

tp5架构详解和跨控制器调用

4、4、跨控制器调用

调用当前模块

$modle = controller("控制器名");

$modle->index();(调用的方法)

调用其他模块

$modle = controller("模块/控制器名");

$modle->index();(调用的方法)

tp5架构详解和跨控制器调用

5、5、调用方法

调用当前控制器的方法

#面向对象技术

$this->方法名

self::方法名

类名::方法名

#系统方法

action(方法名);

action(控制器名/方法)

action(模块名/控制器名/方法)

tp5架构详解和跨控制器调用

6、6、tp执行流程

入口文件(public\index.php)

作用: 定义目录常量,加载框架引导目录

加载框架的引导目录(thinkphp\start.php)

作用:引导基础文件、、

   对应用进行运转

引导基础文件(thinkphp\sbase.php)

作用:加载系统常量,

   引入loader类(tp5\thinkphp\library\think\loader.php),

   引入环境变量,

   注册自动加载机制,

   注册异常处理机制(error.php),

   加载惯例配置(convention.php)

运行应用(tp5\thinkphp\library\think\App.php 下的run方法)

第一步:加载当前控制器中 initcommon()方法

加载命名空间

第二步:加载当前控制器中的 init()方法

加载各种配置文件,加载公共文件,加载语言包

第三步:设置时区

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

第五步:调用控制器中的exec()方法

根据用户请求进行分发处理,

第六步:根据不同的请求类型加载对应文件

tp5架构详解和跨控制器调用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢