本文作者:陈进坚
个人博客:https://jian1098.github.io
CSDN博客:https://blog.csdn.net/c_jian
简书:https://www.jianshu.com/u/8ba9ac5706b6
联系方式:jian1098@qq.com

1.安装方式

thinkphp6只能通过composer安装

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer       # 设置composer为阿里云镜像,解决国内使用composer慢的问题
composer create-project topthink/think myproject            # 安装稳定版,myproject为你的项目名

2.配置文件

thinkphp5里面的config.php被拆分成了app、cache、database、route等等模块,放在了config文件夹;

thinkphp6新引入了一个.env的文件,可以通过读取这个环境设置去配置数据库等等

3.自带web服务

直接php think run就可以在本地启动一个web服务器,还可以用-p参数指定端口

4.目录结构

application文件夹重命名为app

thinkphp5核心框架是项目根目录thinkphp下 , thinkphp6是vendor/topthink

5.控制器

之前继承think\Controller类,现在改为继承BaseController

6.跨域

只需要在middleware.php中注册\think\middleware\AllowCrossDomain就可以搞定跨域问题

7.组件独立

独立ORM

独立模版引擎

8.严格模式

thinkphp6使用了php7严格模式

9.引入Filesystem

10.支持多应用入口

admin应用可以设置admin.php入口文件来访问;api应用可以设置api.php入口文件来访问。

如果要使用多应用模式,你需要安装多应用模式扩展

composer require topthink/think-multi-app

然后你的应用目录结构需要做如下调整,主要区别在app目录增加了应用子目录,然后配置文件和路由定义文件都纳入应用目录下

├─app 应用目录
│  ├─index              主应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录
│  │  ├─route           路由目录
│  │  └─ ...            更多类库目录
│  │
│  ├─admin              后台应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录
│  │  ├─route           路由目录
│  │  └─ ...            更多类库目录
│
├─public                WEB目录(对外访问目录)
│  ├─admin.php          后台入口文件
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─config                全局应用配置目录
├─runtime               运行时目录
│  ├─index              index应用运行时目录
│  └─admin              admin应用运行时目录

支持在同一个入口文件中访问多个应用,并且支持应用的映射关系以及自定义。如果你通过index.php入口文件访问的话,并且没有设置应用name,系统自动采用自动多应用模式。

自动多应用模式的URL地址默认使用

// 访问admin应用
http://serverName/index.php/admin
// 访问shop应用
http://serverName/index.php/shop

以通过app.php配置文件的default_app配置参数指定默认应用

// 设置默认应用名称
'default_app' => 'home',

11.域名绑定应用

config/app.php 配置文件中定义域名和应用的绑定

'domain_bind' => ['www.a.com' => 'index',  // 域名绑定到www应用'admin.a.com' => 'admin',  // admin绑定到后台应用
],

12.自动加载

thinkphp5真正实现了按需加载,所有类库采用自动加载机制,并且支持类库映射和composer类库的自动加载;

thinkphp6使用composer方式实现类自动加载

ThinkPHP5和ThinkPHP6的区别相关推荐

  1. THINKPHP图片处理之图片合成,分享海报合成

    https://book.employleague.cn/ package topthink/think-image composer require topthink/think-image Thi ...

  2. thinkphp漏洞总结

    目录 前言 一.远程代码执行漏洞 1.1 影响范围 1.2 漏洞详情 二.5.x远程命令注入 三.5.1.x SQL注入 前言 thinkphp是一个国内轻量级的开发框架,采用php+apache,在 ...

  3. 静态方法与非静态方法的区别_程序员必看之ThinkPHP5中model与Db的区别

    在ThinkPHP5的使用过程中,很多使用者刚接触到数据库操作时,不能很好调用相关的方法进行数据库的交互.下面就分享一下ThinkPHP5中Db与模型的区别 关于db与model的选择 使用DB方式是 ...

  4. thinkphp5中的系统文件上传和$_FILES用法区别

    thinkphp5中的系统文件上传和$_FILES用法区别 $aa=request()->file('file');$bb=$aa->getInfo(); 后面的file是文件的名字 $b ...

  5. thinkphp5.1、thinkphp6

    下载原装:https://packagist.org/packages/topthink/think composer create-project topthink/think tp 6.0.*-d ...

  6. thinkphp6学习教程与源码 tp6开源CMS系统源码研究

    thinkphp6最新正式版框架上市已经有一段时间了,从官方的介绍来看,tp6的框架和tp5有很大的区别,完全重新改写了底层架构代码和逻辑,所以不支持thinkphp5的无缝升级,也就是说如果你之前的 ...

  7. Thinkphp5.0行为钩子Hook的用法

    什么是行为钩子? 行为 可以把行为想象成在应用执行过程中的一个动作.例如在框架的执行流程中,路由检测.静态缓存.用户权限检测是一个行为,大到业务逻辑,小到浏览器检测.多语言检测等都可以当做是一个行为. ...

  8. Thinkphp5 集成 Swoole

    Swoole简介 Swoole是一个面向生产环境的 PHP 异步网络通信引擎.使 PHP 开发人员可以编写高性能的异步并发 TCP.UDP.Unix Socket.HTTP,WebSocket 服务. ...

  9. thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞

     漏洞描述 ThinkPHP是一款运用极广的PHP开发框架.其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程 ...

  10. thinkphp5内置标签

    thinkphp5内置标签 知道内置标签怎么用,查手册的时候好查 却功能的时候在里面找着来用 内置标签一览 1 内置标签 2 3 变量输出使用普通标签就足够了,但是要完成其他的控制.循环和判断功能,就 ...

最新文章

  1. 简单的表单提交 by MVC 2
  2. Android线程池封装库
  3. spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring
  4. [转载]--- 开箱即用的springboot分库分表sharding-JDBC
  5. 网页内置html5游戏,爽爆HTML5网页游戏!教你怎么精选浏览器
  6. xor和gates的专杀脚本
  7. 数据结构与算法——栈、队列、堆汇总整理
  8. 梯度消失与梯度爆炸----解决方案(一)
  9. 刺客信条3一直显示育碧服务器,刺客信条3免Uplay启动游戏的方法
  10. Win10+Ubuntu双系统修复Ubuntu系统引导
  11. 资深架构师推荐 21 本技术好书
  12. transition使用
  13. 第六章:纯策略纳什均衡
  14. 医院排队叫号系统源码
  15. linux下编译,Linux 下编译指南
  16. 新买的显示器怎么测试软件,新买的电视如何检测屏幕?记住这个方法
  17. 电子仪表系统显示管理计算机,综合电子仪表系统.ppt
  18. Maven中央仓库地址整理
  19. 开启投简历找工作新征程
  20. 一起读JavaScript红宝书 —— 01JavaScript概述

热门文章

  1. 即时通信工具中同步离线会话消息的方法及装置
  2. 装修、家具设计标准尺寸参考
  3. 会议安排问题C++贪心算法
  4. 【ProcessOn】在线流程图、思维导图、原型图、UML图制作工具ProcessOn使用
  5. 读书有益——》来自古诗词中的成语
  6. win32反汇编初步探索及Onllydbg的使用
  7. 2022中式面点师(高级)考试模拟100题及在线模拟考试
  8. js 排序 字符串内含数字字母特殊符号排序
  9. 软件工程实体-联系图
  10. 台式电脑的计算机界面,台式机怎么进bios界面 台式电脑设置bios的方法