zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

浅析php与数据库代码开发规范

PHP数据库代码开发 浅析 规范
2023-06-13 09:15:04 时间

1、PHP中对各类变量内容的命名规范
 
(1)目录命名、文件命名、局部变量命名:
使用英文名词、动词,以下划线作为单词的分隔,所有字母均使用小写
目录:upload、templates、install、manage……
文件:index.php、register.php 、config.php……
变量:$user,$pay_time,$pay_del_cont……

(2)全局常量命名:
使用英文名词、动词,所有字母都使用大写,以下划线分隔每个单词
define("WEBSITE_NAME","名称");
define("WEBSITE_URL", "地址");
英文名词、动(3)数组变量命名:
词,以下划线作为分隔,所有字母均使用小写以array结束
$scope_array =array();
$book_id_array=array();

(4)对象变量命名:
英文名词、动词,以下划线作为分隔,可以完整采用类名或是简化类名,但是必须明确知道是什么类,所有字母均使用小写,在变量后加上_obj

$user_obj  =newuserAccount();
$pay_obj  =newpayOrder();

(5)类的命名:
使用英文名词,以大写字母作为词的分隔,其他的字母均使用小写,名词的首个字母使用小写,不使用下划线

classuserAccount{……}

(6)方法命名:
使用英文名词、动词,以下划线作为单词的分隔,所有字母均使用小写

复制代码代码如下:
 
classuserAccount{
 public$name_account=‘";
 functionis_account_ok(){
 ...
 }
 functionadd_account(){
 ...
 }
}


关于对象属性的命名同理!

2、PHP中函数、符号、运算写作规范
 (1)if语句大括号{}规则:
将大括号放置在关键词后方
使用IF语句尽量使用大括号
复制代码代码如下:
 
if($condition){
 ...
}else{
 …
}
 
(2)、switch规则
每个case块结束处必须加上break,而default总应该存在处理未知情况,例:
复制代码代码如下: 
switch($condition){
 case"user":
 ...
 break;
 case"type":
 ...
 break;
 default:
 ...
 break;
}
 
(3)、声明定位规则
声明代码块需要对齐,且初次使用变量时需要初始化
$tableName="";
$databaseObject="";
尽量不使用以下方式,例:
$tableName;
$accuntName="";
$databaseObject="";

html的form表单各个元素名称与数据库字段尽量保持一致。
不要采用缺省方法测试非零值,必须显式测试,例:
if($name_pay_into!=false){
 ...
}else{
 ...
}

*尽可能使用单引号""而不是双引号"",在需要加入变量或是写sql语句除外。
*php文件中尽可能不出现html语句,如果实在无法解决尽量少用,考虑到模板的兼容性,
html文件中尽可能避免出现php语句。
*通常每个方法只执行一项逻辑动作事务,所以对它们的命名应该清楚的说明它们是做什么的:
用email_error_check()代替error_check()。

请注意命名不要与系统方法冲突。

3、PHP中各类注释规范
/**
* 分页预处理函数
* sqlSQL语句
* page当前页数
* limit每页显示的数量
* maxs查询总数
*/
functionlimit($sql,$page="0",$limit=10,$maxs=""){}

//用户检测
if($check_obj->username($username)==true){…}

$user_name=$_GET[user]; //获取用户信息

4、数据库设计与操作规范
 
数据库规范
数据库名称应该由概述项目内容的小写英文名词组成,以下划线分隔单词,
避免跨平台时可能出现的大小写错误。

数据表名称应该由物件对象名称的小写英文名词组成(尽可能对应系统中的业务类名称),以下划线分隔单词,避免跨平台时可能出现的大小写错误。

数据表的字段应避免使用varchar、text等不定长的类型,时间信息的字段使用int类型存储。
查询数据连接多表时各资源应该使用全名称,即tableName.fieldName,而不是fieldName。
SQL语句应尽可能符合ansi92标准,避免使用特定数据库对SQL语言的扩充特性。