欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

PHP Web项目总结

发布时间:2024/1/1 php 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 PHP Web项目总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

严格上划分,前段时间做的PHP Web项目PHP Web项目是自己开发的第一个线上服务。第一次和前端同事合作开发,第一次一个人担任服务端开发,本文是对这次开发的一次总结。

代码规范

这个是在看到一段遗留代码才察觉的,其中有一段代码如下:

// …… $a=isset($_GET["a"])?$_GET["a"]:0; if($a==0){// logic }else{}

看完这个脚本后,我感觉全身都被压挤着,比自己曾经坐过的十一火车还挤(哈哈)。于是网上搜了下PHP-FIG的代码规范,发现了PHP中PSR-[0-4]代码规范。

从C++开发切换到PHP语言后,在代码规范上容易受到C++编码规范潜移默化的影响。比如说,自己写的C++函数结构更加倾向于:

void bar {// logic code }

然而从php psr2编码规范并不推荐这种编码方式,推荐使用:

<?php namespace Vendor\Package;class ClassName {public function fooBarBaz($arg1, &$arg2, $arg3 = []){// method body} }

不推荐使用:

<?php namespace Vendor\Package;class ClassName {public function fooBarBaz($arg1, &$arg2, $arg3 = []) {// method body} }

其他点,比如一个PHP文件的分段:命名空间,导入类,类等,自己觉得和C++很类似。

结构设计

自己使用的是公司的一个PHP框架,窃以为目录比较混乱,例如代码的index.php和Controller层代码在两个不同的目录。

因开发的接口提供给前段同事调用,MVC只有MC。Controller层负责第一层的处理,包括参数校验,完成处理后调用Model层类处理具体的逻辑。

对用到的其他服务,自己把它们单独划分到最底层的第三方接口,只负责请求及获取结果。在第三方接口层之上,对获取结果做逻辑处理,例如:解析返回结果、合并解析后的返回结果。

遇到的问题

代码发布问题

这个是任何服务端上线需要解决的问题,这个有相当多的解决方案,例如:rsync。一个好的发布系统,我认为至少要支持以下特性:
- 支持测试、回归以及灰度发布
- 回滚操作(代码有问题,立即回滚到上一个稳定版本)。

公司的发布系统在第一点上做的不是很好,例如:不支持发布到测试环境。自己在这个发布系统上遇到比较多的坑,花费了很多时间沟通解决问题。

功能测试

自己开始拿php-unit做功能测试,后期才发现方向走错了。目前使用的工具包括:
- PostMan
- Python Request接口测试
- Chrome前端测试


总结

以上是生活随笔为你收集整理的PHP Web项目总结的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。