关于ThinkPHP5系列及ThinkPHP6系列的看法

关于ThinkPHP5系列及6系列的看法

  • CR的看法
    • 1.配置与路由
    • 2.符合PSR规范,具有通用性
    • 3.错误与异常
    • 4.前置方法
    • 5.多应用模块
    • 6.composer安装

CR的看法

https://www.kancloud.cn/manual/thinkphp6_0/1037479 TP6.0文档

https://www.kancloud.cn/manual/thinkphp5_1/353946 TP5.1文档

作为一个phper,从2018年底至今,上手写过的PHP代码行数也有5位数以上

今天我想从TP5到TP6的过渡谈一谈自己的看法,大家都知道 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,为了实现快速的WEB应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,也注重易用性,这也是大家有目共睹的,那么就我个人而言,如果让我从ThinkPHP3.2、 ThinkPHP5.0、 ThinkPHP5.1、 ThinkPHP6.0 四者当中选择一个最为简单易用的版本,我会毫不犹豫地告诉你, ThinkPHP5.1 是我用过的TP版本中最为人性化的一个版本,以下是我总结的原因

1.配置与路由

作为一名开发者,拿到一个框架首先要做的事情,就是理解框架提供给我们的配置项,这将会为我们后面的快速开发打下基础,像:数据库、路由配置、缓存配置、控制器/模型/视图配置。。。与我们的项目开发有着不可忽略的关系,而相比ThinkPHP3.2以及 ThinkPHP5.0,单独目录来存放这部分的配置文件,使得整个项目文件目录结构更为的清晰明了,对新手的友好度也大大提高;而且 ThinkPHP5.1基本重构了路由,在路由规则以及匹配算法上进行了优化,并新增了一实用功能:在控制器文件当中通过注解的方式实现快速定义路由,再也不用打着打着代码就跑去路由文件里面去了,尤其是需要使用大量路由时,这一优势会体现地尤为明显,

2.符合PSR规范,具有通用性

当然这一点对于 ThinkPHP5 系列的框架产品来说已经是非常成熟的结果,而 ThinkPHP3.2 其本身仅适用于该框架的开发规范,与其他框架甚至是本框架的向上版本的规范不能够保持统一,这对于项目的迭代更新与迁移是一大痛点

3.错误与异常

ThinkPHP3.2 部分级别的错误不能够第一时间由框架机制进行完全处理记录,而 ThinkPHP5与 ThinkPHP6系列则采用“零容忍”原则,默认情况下会对任何级别的错误抛出异常,这对于开发者来说可以是大大减轻了项目维护的压力,达到快速定位错误并及时解决的效果

4.前置方法

这是我觉得 ThinkPHP5.1 比较实用的功能之一,它能够使开发者在项目开发的权限管理设计上起到不小的作用,并且该功能学习成本低,基本上一看就能明白并学会使用技巧,而 ThinkPHP6.0 取消了该功能的设定,转而提供了中间件的使用方法,相比之下,学习成本提高了不少,与TP框架的快速开发理念有所相抵,虽然中间件确实能够在不同层面上让项目的运转结构变得更加清晰简洁,也是看个人喜好吧

5.多应用模块

这一点是专门针对 ThinkPHP5与 ThinkPHP6系列之间的变化分析的, ThinkPHP5中,在任一模块当中都可以直接或间接使用其他模块的控制器/模型/视图,而在 ThinkPHP6中这一点似乎使用起来不像 ThinkPHP5那么方便,或者说是框架开始引导到开发者基于“完全隔离”的原则去开发不同模块的内容,这一点在路由上也体现地比较明显, 当你启用了多应用模块开发模式,每个模块的路由默认需要开发者 在ThinkPHP6的route文件目录下,建立对应模块名的文件夹,并配置对应的模块路由

6.composer安装

ThinkPHP5.1文档中的安装说明表明允许通过git、composer、安装包进行安装,再来看看 ThinkPHP6的文档中:

” 6.0版本开始,必须通过Composer方式安装和更新,所以你无法通过Git下载安装 “

ThinkPHP6.0官方手册

这就意味着TP框架的使用门槛进一步提高了,再学习使用TP框架之前,你必须先学习composer的基本使用方式,一系列的文档阅读、安装、环境配置等等步骤默认添加到框架使用步骤前面

你可能感兴趣的:(php,后端)