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


Posted in PHP onAugust 08, 2013

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中使用数组实现堆栈数据结构的代码
Feb 05 PHP
PHP中判断变量为空的几种方法分享
Aug 26 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
Yii调试SQL的常用方法
Jul 09 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
PHP处理Oracle的CLOB实例
Nov 03 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
windows7配置Nginx+php+mysql的详细教程
Sep 04 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 PHP
九个你必须知道而且又很好用的php函数和特点
Aug 08 #PHP
怎样使用php与jquery设置和读取cookies
Aug 08 #PHP
如何取得中文字符串中出现次数最多的子串
Aug 08 #PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 #PHP
php调用Google translate_tts api实现代码
Aug 07 #PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 #PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 #PHP
You might like
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
用javascript实现画板的代码
2007/09/05 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
js密码强度检测
2016/01/07 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
react 父子组件之间通讯props
2018/09/08 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
Python 字符串操作方法大全
2014/03/11 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
中国最大的团购网站:聚划算
2016/09/21 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
2014社区三八妇女节活动总结
2014/03/01 职场文书
补充协议书范本
2014/04/23 职场文书
政治表现评语
2014/05/04 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
教师理论学习心得体会
2016/01/21 职场文书
如何在Python项目中引入日志
2021/05/31 Python