PHP Web项目总结
2017-07-06 23:22
141 查看
严格上划分,前段时间做的PHP Web项目PHP Web项目是自己开发的第一个线上服务。第一次和前端同事合作开发,第一次一个人担任服务端开发,本文是对这次开发的一次总结。
看完这个脚本后,我感觉全身都被压挤着,比自己曾经坐过的十一火车还挤(哈哈)。于是网上搜了下PHP-FIG的代码规范,发现了PHP中PSR-[0-4]代码规范。
从
然而从php psr2编码规范并不推荐这种编码方式,推荐使用:
不推荐使用:
其他点,比如一个PHP文件的分段:命名空间,导入类,类等,自己觉得和
因开发的接口提供给前段同事调用,MVC只有MC。Controller层负责第一层的处理,包括参数校验,完成处理后调用Model层类处理具体的逻辑。
对用到的其他服务,自己把它们单独划分到最底层的第三方接口,只负责请求及获取结果。在第三方接口层之上,对获取结果做逻辑处理,例如:解析返回结果、合并解析后的返回结果。
- 支持测试、回归以及灰度发布
- 回滚操作(代码有问题,立即回滚到上一个稳定版本)。
公司的发布系统在第一点上做的不是很好,例如:不支持发布到测试环境。自己在这个发布系统上遇到比较多的坑,花费了很多时间沟通解决问题。
- PostMan
- Python Request接口测试
- Chrome前端测试
代码规范
这个是在看到一段遗留代码才察觉的,其中有一段代码如下:// …… $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前端测试
相关文章推荐
- 总结WEB项目的中文乱码解决
- 从java到web前端再到php,一路走来的小总结
- 千锋php1705班,张同学Yellowman项目总结
- Java Web项目开发项目经验总结
- MyEclipse+Maven创建web项目出现的错误总结
- 2009-10-10项目问题总结__web
- Spring-Boot快速搭建web项目详细总结
- web项目读取classpath下面文件心得总结
- Maven学习总结(7)——eclipse中使用Maven创建Web项目
- 关于php项目的开发回顾总结第一章-----初探
- 关于php项目的开发回顾总结第五章-----BUG之美
- java web框架 spring+spring mvc+mybatis/hibernate项目总结(1)
- 各种web项目的实现及源码归纳总结
- Maven学习总结(八)——eclipse中使用Maven创建Web项目
- 最近php项目总结
- PHP做Web项目的优缺点
- web项目开发编码问题总结
- import 一个web项目 出现的问题总结
- PHP做Web项目的优缺点