Thinkphp框架各版本差异

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

相关推荐

华为手机屏幕常亮设置全攻略:让光明常驻,体验不熄屏新境界
安逸花贷款申请通过审批要多长时间,逾期利息多少呢
word蓝线是什么意思
be365是否安全

word蓝线是什么意思

📅 08-18 👁️ 556