Thinkphp框架各版本差异

Thinkphp诞生

ThinkPHP 由国人开发,是一个免费开源、面向对象的轻量级 PHP 开发框架。诞生于 2006 年初,国内使用最多。
在这里插入图片描述

Thinkphp 3.2版(小白入门经典版)

php版本
PHP5.3以上版本

目录结构

初始的目录结构

├─index.php       入口文件
├─README.md       README文件
├─Application     应用目录
├─Public          资源文件目录
└─ThinkPHP        框架目录

框架目录ThinkPHP的结构

├─ThinkPHP 框架系统目录(可以部署在非web目录下面)
│  ├─Common       核心公共函数目录
│  ├─Conf         核心配置目录 
│  ├─Lang         核心语言包目录
│  ├─Library      框架类库目录
│  │  ├─Think     核心Think类库包目录
│  │  ├─Behavior  行为类库目录
│  │  ├─Org       Org类库包目录
│  │  ├─Vendor    第三方类库目录
│  │  ├─ ...      更多类库目录
│  ├─Mode         框架应用模式目录
│  ├─Tpl          系统模板目录
│  ├─LICENSE.txt  框架授权协议文件
│  ├─logo.png     框架LOGO文件
│  ├─README.txt   框架README文件
│  └─ThinkPHP.php 框架入口文件
手册链接:

Thinkphp3.2.3完全开发手册

Thinkphp5.1版

环境要求
PHP >= 5.6.0
PDO PHP Extension
MBstring PHP Extension

目录结构
├─application           应用目录
│  ├─common             公共模块目录(可以更改)
│  ├─module_name        模块目录
│  │  ├─common.php      模块函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录
│  │  └─ ...            更多类库目录
│  │
│  ├─command.php        命令行定义文件
│  ├─common.php         公共函数文件
│  └─tags.php           应用行为扩展定义文件
│
├─config                应用配置目录
│  ├─module_name        模块配置目录
│  │  ├─database.php    数据库配置
│  │  ├─cache           缓存配置
│  │  └─ ...            
│  │
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─log.php            日志配置
│  ├─session.php        Session配置
│  ├─template.php       模板引擎配置
│  └─trace.php          Trace配置
│
├─route                 路由定义目录
│  ├─route.php          路由定义
│  └─...                更多
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─thinkphp              框架系统目录
│  ├─lang               语言文件目录
│  ├─library            框架类库目录
│  │  ├─think           Think类库包目录
│  │  └─traits          系统Trait目录
│  │
│  ├─tpl                系统模板目录
│  ├─base.php           基础定义文件
│  ├─convention.php     框架惯例配置文件
│  ├─helper.php         助手函数文件
│  └─logo.png           框架LOGO文件
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                第三方类库目录(Composer依赖库)
├─build.php             自动生成定义文件(参考)
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件
手册链接:

ThinkPHP5.1完全开发手册

TP5与TP3.2的区别

1.支持 Composer,PHPunit(中大型项目必备的依赖管理和测试框架)

2.更加严谨了,异常严谨的错误检测和安全机制。我发现html页面中如果有不存在的url,就会马上报错模板不存在。

3.大量参考了 Laravel 风格,还保证了以往 ThinkPHP 简单易学(优雅并且易学)

4.惰性加载,及路由、配置和自动加载的缓存机制,模型类并不一定要访问数据库,而且在5.0的架构设计中,只有进行实际的数据库查询操作的时候,才会进行数据库的连接,是真正的惰性连接。

5.API进行了优化,不依赖原来的API模式扩展。控制器输出采用Response类统一处理,而不是直接在控制器中输出。
符合PSR-4的自动加载规范

6.以前单字母全局函数改成了别名函数(M,D,S,C等,除了易学好用还不会污染全局)

7.模板的输出,url的访问以及数据的增删改查都有了小小的变动。

Thinkphp 6版

环境要求
PHP >= 7.2.5
6.0版本开始,必须通过Composer方式安装和更新

目录结构
├─app           应用目录
│  ├─controller      控制器目录
│  ├─model           模型目录
│  ├─ ...            更多类库目录
│  │
│  ├─common.php         公共函数文件
│  └─event.php          事件定义文件
│
├─config                配置目录
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─console.php        控制台配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─filesystem.php     文件磁盘配置
│  ├─lang.php           多语言配置
│  ├─log.php            日志配置
│  ├─middleware.php     中间件配置
│  ├─route.php          URL和路由配置
│  ├─session.php        Session配置
│  ├─trace.php          Trace配置
│  └─view.php           视图配置
│
├─view            视图目录
├─route                 路由定义目录
│  ├─route.php          路由定义文件
│  └─ ...   
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件
手册链接:

ThinkPHP6.0完全开发手册

TP5和TP6版本之间的差异:

ThinkPHP6.0运行环境要求PHP7.1+,不支持5.1的无缝升级

1 目录结构的异同 tp5核心框架是项目根目录thinkphp下 , tp6是vendor的topthink

2 安装方式不同,tp6仅能通过composer方式安装

3 类自动加载方式不同 tp6使用composer方式实现类自动加载, tp5 composer+自己实现了一套

4 tp6使用了php7严格模式

5 TP6组件的独立 ORM 模板引擎

6 TP6中间件改进 TP6开始使用了管道模式来实现中间件,比起之前版本的实现更加简洁,有序

7 TP6引入Filesystem

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值