#### ThinkPHP6.0优点有哪些?
[烟雨江南饭特稀](https://space.bilibili.com/349461965)
1. 免费,开源, 轻量级
2. 国人开发, 中文开发文档齐全
3. 社区活跃, 遇到问题, 可以很快获取解决方案
####
ThinkPHP6主要更新了什么呢?
1. 支持PHP最新的强类型
2. PSR开发规范得了更广泛的应用
3. 对Swoole支持得到了优化与提升
4. 支持更多的IDE编辑器友好提示
5. 对原生的语法进行大量的精简
####
TP6有哪些核心能力?
##### 框架的基础服务
控制器--模型--视图--请求--响应--异常处理--日志--错误--调试--验证--多应用--缓存等
##### 框架的核心
容器--依赖注入--门面模式--中间件--服务--事件--路由--驱动
##### 掌握5层架构
控制器层--业务逻辑层--lib层--模型层--视图层
而我们在学习与开发中更应该融入PHP的一些高级应用,这些基本会在开发一个项目中体现到,比如一个高性能,高可用,并且当流量居多的高并发下的电子商城项目。你会用到的一些技术比如:`redis与消息队列`,`redis集群`,`分布式锁`,`如何限流与容灾`,`支付模块如何服务化`,`服务又是如何降级`,`商品抢购方面`又是如何限购等等。
这样的一个系统,建议在需求分析方面首先就要考虑到上面的那些高级功能与特点了。
这里有个实际开发项目的流程图,可做参考:
http://www.startphp.cn/uploads/allimg/200316/1-200316154G5F0.png
![](https://img.kancloud.cn/8e/2a/8e2a7fcab6cebd1da0223aec0cbf5e59_591x403.png)
####
一个完整的项目基本包含下面这些流程
##### 1 需求分析
需求分析究竟分析些什么?
**用户**:产品的用户是谁(有几类)?有什么特点?
**场景**:用户会在什么情况下有这个需求(对我们的产品感兴趣)?不同场景的需求一样吗?
**需求**:产品满足了用户什么需求?解决了用户什么问题?
**当前解决方案**:现在没有这个产品,用户是怎么做的呢(当前解决方案是什么)?现在的解决问题有没有什么问题?
**产品解决方案**:你有没有比现在的解决方案更好的方案?
#####
2 项目开发
这个阶段就是码农们一起编代码了,这个过程就要注意到编写的代码的`规范`,`模块化`,`安全`,`可移植性`,还有就是`代码注释`
#####
3 系统优化
对于Web系统,绝大多数情况下PHP本身不会成为性能瓶颈。瓶颈经常是系统设计、业务逻辑梳理有问题。 这个阶段其实跟前面项目开发阶段很大的关系的,因为你在前面设计不够好,代码不够好,那你在这个阶段就要来做更多的优化了,比如:PHP代码的优化,数据库性能的优化,服务器上的性能优化
#####
4 服务评估
服务评估也就是对项目质量的评估,如何有效的评估一个项目,虽然这一项是产品经理的内容,不过你也可以学一下。我们可以从这几方面着手:`基础产品逻辑`、`数理逻辑`、`思维逻辑`、`业务逻辑`、`系统逻辑`。
基础产品逻辑:产品设计的一些基础逻辑,包括但不限于前端交互逻辑,信息展示逻辑,产品商业逻辑等等。这些基本都属于入门级的产品逻辑。
数理逻辑:数理逻辑包括对于统计学有基础的了解,有基础的数据敏感性,拥有从数据层层深挖定位到问题的能力。知道先验概率,置信度,归因方法等基础的统计学概念。
思维逻辑:在表述方案和评估方案的时候,能够有明确的逻辑思维,知道什么是事实,什么是假设,什么是结论;知道事实是否充分,假设的依据是否可靠,结论的逻辑链是否通顺。
业务逻辑:这需要比较强的学习意愿和学习能力。不管是做什么业务,都应该深刻了解这个业务的逻辑。如果是电商系统,就应该了解商品库和购物流程的机制、了解商品选品的思路和方法。
系统逻辑:和业务逻辑类似,业务逻辑是了解相关业务方的思路,系统逻辑则是对系统要有深刻的理解。这个系统可能是一个公司,可能是一个供应链,可能是一个产业,也可能是一个后台系统。
#####
5 项目部署
这个阶段没啥好说的,是程序员都会部署项目上线
####
配套视频教程
**TP6.0实战高并发全流程开发商城项目教程**
链接:[https://pan.baidu.com/s/1usE2jUVQs\_wSnCmbesAntg](https://pan.baidu.com/s/1usE2jUVQs_wSnCmbesAntg)
提取码:p64b
- 空白目录1
- RBAC
- RBAC权限模型[完整]
- 你知道权限管理的RBAC模型吗?
- rbac 一个用户对应多个账号_如何设计一个强大的权限系统
- Postman 快速使用(设置环境变量)
- postman的使用方法详解!最全面的教程
- Postman常用的几个功能
- ThinkPHP项目总结
- thinkphp5 递归查询所有子代,查询上级,并且获取层级
- PHP原生项目之留言板
- 智慧校园
- PHP如何实现订单的延时处理详解
- VUE
- const {data:res} = await login(this.loginForm)
- Vue中的async和await的使用
- PHP实现消息推送(定时轮询)
- tp5 计算两个日期之间相差的天数
- 使用jquery的ajax方法获取下拉列表值
- jQuery实现select下拉框选中数据触发事件
- SetFocus 方法
- 快来了解下TP6中的超级函数app()!
- PHP socket 服务器框架 workerman
- 程序员如何才能成为独立开发者?
- PHP 错误处理
- php面向对象类中的$this,static,final,const,self及双冒号 :: 这几个关键字使用方法。
- 小白教你玩转php的闭包
- 关于TP6项目搭建的坑(多应用模式)
- ThinkPHP6.0 与5.0的差别及坑点
- axios在vue项目中的使用实例详解
- php中的类、对象、方法是指什么
- 聊一聊PHP的依赖注入(DI) 和 控制反转(IoC)
- 深入理解控制反转(IoC)和依赖注入(DI)
- Private,Public,Protected
- ThinkPHP5(目录,路径,模式设置,命名空间)
- 在 ThinkPHP6 中使用 Workerman
- 介绍thinkphp lock锁的使用和例子
- php中_initialize()函数与 __construct()函数的区别说明
- api接口数据-验证-整理
- api接口数据-验证-整理【续】
- TP6容易踩得坑【原创】
- TP6的日志怎么能记录详细的日志?
- 是否需要模型分层
- PHP面试题 全网最硬核面试题来了 2021年学习面试跳槽必备(一)
- MySQL单表数据量过千万,采坑优化记录,完美解决方案
- MySql表分区(根据时间timestamp)
- MySQL大表优化方案
- 闲言碎语
- 数据库外键的使用
- 深入理解thinkphp、laravel等框架中容器概念
- vue做前端,thinkphp6做后台,项目部署
- 简单MVC架构的PHP留言本
- TP5里面extend和vendor的区别
- 在mysql数据库中制作千万级测试表
- MySQL千万级的大表要怎么优化
- ThinkPHP关联模型操作实例分析
- lcobucci/jwt —— 一个轻松生成jwt token的插件
- RESTful API 设计指南
- MySQL如何为表字段添加索引
- ThinkPHP6.0快速开发手册(案例版)
- tp5 静态方法和普通方法的区别
- 数据字典功能
- mysql中的数据库ID主键的设置问题
- 基于角色的权限控制(django内置auth体系)
- RBAC系统经典五张表
- 什么是接口文档,如何写接口,有什么规范?
- thinkphp5.0自定义验证器