这里是文章模块栏目内容页
多人协作开发php项目应该遵守这些高效原则

协作php项目,很多都是一两人挑起的吧,就算是多人开发,也是个人负责单独业务模块。所以原则主要是在业务衔接时的规范。接口名称,函数名,数据库字段,可以个性化的地方,经量统一一个标准。


  1. 同一个项目的所有文件是否可以统一使用的文本编码? 建议使用utf8。 我在不同部门看到过不少项目的文件编码不统一,有的文件编码格式是utf8的,有的是gbk的,甚至同一个php文件不同段落的编码也是不统一的。这造成我用编辑器打开不同文件,很多都要重新设定加载编码,否则看到的注释都是乱码,甚至在看同一文件的不同部分,也得切换编码。

  2. 是否可以统一文件格式?建议使用linux文件。至少现在从icode里看window文件格式的编码文件,代码换行符部分会标红。

  3. mysql表的建表语句注释同样存在编码问题,甚至同一张表,不同字段的注释编码也不一样,是否发mysql建表语句时也可以统一使用一种编码?比如utf8,发建表语句的sql时,可以在第一行为 "set names utf8;"

  4. 我们创建mysql表使用的字段名称是否可以避开mysql关键字? 我看到有项目的mysql表字段使用系统关键字,这可能是在给将来的开发维护工作留有隐患。 mysql关键字查询地址: https://dev.mysql.com/doc/refman/5.7/en/keywords.html

  5. 代码编写过程中,写的sql语句,引用字段是否都可以加上反引号?这样即使该字段在后来成为了mysql升级版本的系统关键字,在该版本中运行也没问题。

  6. 一个项目开始后,是否可以建立一个数据字典? 比如现在一些开发接口的项目中,同一含义的参数在不同接口中对应着不同的参数名。举例:用户名id在项目的接口a中参数名为uid, 在接口b中参数名为user_id。实际上都是表示同一含义。如果有数据字典,就可以避免被重复命名,为统一编写处理的函数\类提供方便,避免可能存在的重复开发。也为后来接手的人提供阅读方便。 数据表也是一样,同一含义的字段是否可以在不同的表中有着相同的名字?这样会方便许多。

  7. 开发环境建议:是否可以都把报错级别设为ALL 这样可以让我们的代码更加规范严格。

  8. 如果做的项目主要是对外提供接口,是否可以将输出功能统一封装成一个函数调用? 比如输出格式为json, 编码为utf8, 这样可以统一设置header输出 Content-Type:application/json; charset=utf-8 如果用的是php5.4以上的版本,用json_encode生成json串的时候,是否都可以加上第二个参数UNESCAPE_UNICODE,这样中文可以不被转义,显示更友好。

  9. 时间的默认值是否可以不用"0000-00-00 00:00:00" ? 这是不严格的时间默认值虽然在低版本的mysql可以插入进去,但是在mysql5.7中已经默认不支持了,考虑到将来可能升级和适用性,是否默认值改用当前时间更好些?