thinkphp架构概述


thinkphp架构概述(笔记)


thinkphp使用MVC模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M),视图(V),控制器(C),他们各自处理自己的任务。

1、入口文件:
1)、文件地址
public\index.php;
2)、作用:
负责整个tp的请求

2、应用:
1)、应用地址。
\application
2)、作用
一个应用代表一个网站。

3、模块:

1、模块地址:
C:\Appserv\www.tp5\application\index
2、新建后台模块
a、在应用目录下\Appserv\www.tp5\application新建admin目录
b、在admin目录下新建model、view和controller
c、在controller目录中新建index.php控制器

4、操作方法
1、操作地址:
操作一般在控制器的文件中
2、新建一个操作(以前台index控制器为例)
1、打开前台index控制器
2、在控制器新建test方法

5、模型(数据模型)
1、数据模型地址
C:\Appserv\www.tp5\application\index\model
2、作用:
负责数据库相关的处理

6、视图(页面)
1、视图地址
C:\Appserv\www.tp5\application\index\view
2、作用:网页

7、命名空间:
1、与目录有关(以前台index控制器命名空间为例)
C:\Appserv\www.tp5\application\index\controller
namespace app\index\controller;

8、跨控制器调用(当前模块)
1、用命名空间实例化一个对象,通过对象来->调用其中的方法。
$model=new app\index\controller\User;
echo $model->index();

2、use方法:直接实例化一个控制器对象new User;再进行调用
use namespace app\index\controller\User
$model=new User;

3、controller:$model=controller(‘User’);
$model->index();
调用后台模块
1、使用命名空间:
同名的时候要是有别名

2、use方法:直接实例化一个控制器对象new User;再进行调用
use namespace app\index\controller\User
$model=new User;

3、controller:
$model=controller(‘User’);
$model->index();

9、使用当前控制器的方法
#面向对象
1、$this->test();
2、self::test();
3、Index ::test();//当前index控制器
4、action(‘test’);

10、调用其它控制器的方法
1、命名空间
2、echo action(‘User/index’);//系统调用

11、TP执行流程
1、入口文件(C:\Appserv\www\tp5\public\index.php)
作用:
1)定义目录常量
2)加载框架引导目录

2、加载框架的引导文件(statr.php)
作用:
1、引导基础文件
2、对应用进行运转

3、加载框架的基础引导文件(thinkphp\base.php);
作用:
1)加载系统常量
2)引入loader类(think\loader.php);
3)引入环境变量
4)注册自动记载机制
5)注册异常处理机制(thinkphp\library\think\Error.php)
6)记载惯例配置(think’php\convention.php)

4、运行应用(thinkphp\liberary\think\app.php)下的run方法;
1、第一步:加载当前控制器initCommon()方法;
2、第二步:加载当前控制器的init()方法
1)、加载各种配置文件
2)、加载公共文件
3)、加载语言包
3、第三步:设置时间区域
4、第四步:加载当前控制器routeCheck()方法 路由检测
5、第五步:调用控制器中exec()方法
根据用户请求进行分发处理
6、第六步:根据不同的请求类型加载对应文件 module方法;
加载到对应的控制器和对应方法
5、响应输出
用户看到的所有界面就加载出来了.

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值