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

 更新时间:2013年08月08日 09:39:00   作者:  
以下是对php与数据库代码开发规范进行了简单的分析介绍。需要的朋友可以过来参考下

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   = new userAccount();
$pay_obj   = new payOrder();

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

class userAccount{ ……}

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

复制代码 代码如下:
 
class userAccount {
 public $name_account=‘';
 function is_account_ok(){
  ...
 }
 function add_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中各类注释规范
/**
*  分页预处理函数
*  sql SQL语句
*  page 当前页数
*  limit 每页显示的数量
*  maxs 查询总数
*/
function limit($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语言的扩充特性。

相关文章

  • php实现的简单日志写入函数

    php实现的简单日志写入函数

    这篇文章主要介绍了php实现的简单日志写入函数,涉及针对文件的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)

    PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)

    这篇文章主要介绍了PHP编程计算两个时间段是否有交集的实现方法,结合具体实例形式对比分析了php时间段的转换、比较等相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • PHP中addcslashes与stripcslashes函数用法分析

    PHP中addcslashes与stripcslashes函数用法分析

    这篇文章主要介绍了PHP中addcslashes与stripcslashes函数用法,结合实例形式分析了addcslashes函数添加针对固定字符的转义处理与stripcslashes进行还原操作相关技巧,需要的朋友可以参考下
    2016-01-01
  • 解析argc argv在php中的应用

    解析argc argv在php中的应用

    本篇文章是对argc与argv在php中的应用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php模板函数 正则实现代码

    php模板函数 正则实现代码

    有些空闲,就弄了下template函数,比较粗糙。主要是利用正则表达式,把模板文件(html文件)转换成php文件,从而实现前后台分离,即是所谓的mvc思想了
    2012-10-10
  • PHP中simplexml_load_string函数使用说明

    PHP中simplexml_load_string函数使用说明

    这个问题遇到好几次了,今天翻看以前代码的时候看到,便记下来,需要的朋友可以参考下。
    2011-01-01
  • php cli模式学习(PHP命令行模式)

    php cli模式学习(PHP命令行模式)

    之前知道php—cli模式是一种类似shell命令式的执行php程序,不过一直以为这个是一种落后的方式,应该没有什么意义,因为从没有遇到过使用这个cli模式编程的。不过今天遇到了使用cli模式的应用
    2013-06-06
  • php检查字符串中是否包含7位GSM字符的方法

    php检查字符串中是否包含7位GSM字符的方法

    这篇文章主要介绍了php检查字符串中是否包含7位GSM字符的方法,可实现检测手机短信GSM字符的功能,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • php查询操作实现投票功能

    php查询操作实现投票功能

    这篇文章主要为大家详细介绍了php查询操作实现投票功能的具体代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • php实现的rc4加密解密类定义与用法示例

    php实现的rc4加密解密类定义与用法示例

    这篇文章主要介绍了php实现的rc4加密解密类定义与用法,结合完整实例形式给出了php rc4加密解密类文件class.rc4crypt.php的定义及相关使用技巧,需要的朋友可以参考下
    2018-08-08

最新评论