您的位置:首页 > 编程语言 > PHP开发

PHP Web项目总结

2017-07-06 23:22 141 查看
严格上划分,前段时间做的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