有个老项目是用ci3写的。当时并没有考虑兼容性和扩展等问题。技术选型也存在问题。我尝试了pajax的写法,但是很明显这种写法已经过时了。另一方面也和我当时刚接触前端有关,技术能力不足。由于历史原因,当有新的需求或需求发生变化时,维护起来就特别麻烦。借助此次系统升级,我们将对项目进行更长远的规划。这次,我们将重新选择项目的框架:mysql+CI4+React,前后端分离。mysql数据库mysql不是废话。CI4CI全称Codeigniter,CI4是2020年2月发布的最新版本。相比CI3,CI4升级优化了很多功能,很多功能借鉴了Larval的实现,对开发者更加友好,尤其是OOP开发方法。CI3的很多问题我就不说了。如果我那个时候能习惯写文章,我应该能写出很多CI3的文章。下面简单对比一下三种主流的PHP框架:CI4、Larval、YII。这次升级一开始并没有选择CI4,而是YII,接着是Larval,最后是CI4。另外我在框架选择过程中使用了php包管理器compose,发现确实不好用,不能自动解决包依赖问题。安装过程中需要手动解决一些依赖,太不友好了。YII:https://www.yiichina.com/doc/guide/2.0/intro-yiiLarval:https://www.golaravel.com/关于YII和Larval的详细内容:安装、使用、api等可以查在上面的官网上我找到了答案,这里就不用多说了。个人对这三个框架的看法是YII和CI4更多是给新手的,入门门槛不高。其中YII可以处理大型项目,CI4推荐用于小型项目;而Larval的门槛更高,偏向于大型项目。框架本身没有好坏之分。这三个框架用过之后,感觉都差不多。源码的可读性是CI4>YII>Larval,大型项目的选择是YII=Larval>CI4。CI4在团队项目开发过程中表现非常出色。很难,YII=Larval会更友好。当然CI4中的很多改进都对这部分问题做了很大的优化。更多框架选择、优缺点、未来等,百度和谷歌搜索,你会得到更详细的答案。这里最终选择CI4,一是因为它是一个小项目,二是因为目前只有我自己开发和维护,三是因为compose太情绪化了。虽然用compose安装成功了三个项目,但是过程很坎坷。在这方面,CI4的下载和使用显然更加友好。React本身就是前端,目前React是我主要使用的前端框架。Vue等其他前端框架也很有用。前端框架的选择和比较就不罗嗦了,罗嗦的就是几百字,算了。前后端分离前后端分离是大势所趋,不分离的项目维护成本比较高,尤其是前端多端开发。分离后,后端统一接口,不会减少开发量。因此,建议在条件允许的情况下,将前后端分开开发。.CI4框架本身包含前端部门。分离后,需要更改项目的部署。这将在下面的文章中详细解释。环境开发环境:phpstorm/webstorm+php7.2.9+apache2.4+nginxCI4最低要求php7.2,而php7.2+要求apache为2.4,2.2不可用,前后端使用nginx开发环境接口转发。这里需要注意的一点是PHP的TS和NTS,因为选择apache需要选择TS,否则在NTS安装包中找不到apache需要的apache2.4.dll;如果选择IIS作为本地服务器,需要选择NTS版本。详见本站:https://windows.php.net/download/生产环境:阿里云虚拟主机+php7.2生产环境需要将后端代码+前端包放在网站的site目录下虚拟主机,通过.htaccess方式重定向,后续文章会详细讲解。好了,开头差不多了,后面会开始写CI4相关的系列文章。
