浅析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 快速生成 Flash 动画的方法
Mar 06 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
php程序效率优化的一些策略小结
Jul 17 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
浅析PHP的ASCII码转换类
Jul 05 PHP
php中的boolean(布尔)类型详解
Oct 28 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
PHP jQuery表单,带验证具体实现方法
Feb 15 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
php里array_work用法实例分析
Jul 13 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
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连接access数据库
2008/03/27 PHP
PHP Document 代码注释规范
2009/04/13 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
PHP调用其他文件中的类
2018/04/02 PHP
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
python中pygame模块用法实例
2014/10/09 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Python进程间通信之共享内存详解
2017/10/30 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
Python文件操作基础流程解析
2020/03/19 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
校园招聘策划书
2014/01/09 职场文书
高二政治教学反思
2014/02/01 职场文书
重点工程汇报材料
2014/08/27 职场文书