php开发规范
来源:互联网 发布:淘宝大卖家 编辑:程序博客网 时间:2024/05/17 05:50
一,php程序
1.代码第一段一定要先设定错误报告等级
error_reporting(8);// 个人建议为7
2.数组 申明
$row[key] = 'value'; // 不推荐
$row = array(); // 变量一定绝对必须要先声明!
$row['key'] = 'value';
$row['12'] = '34';// 数组的key一定绝对要用双引号或单引号包起来
3.变量申明
if( $row['key'] ) { // 不推荐
$string = 'xxxx';
}
if( $string == 'xxx' ) {
echo 'xxx';
}
$string = ''; //推荐
if( $row['key'] ) {
$string = 'xxxx';
}
if( 'xx' == $string) {
echo 'xxx';
}
4.不要随便就复制变量
有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗!
BAD:$description = $_POST['description'];echo $description;
GOOD:echo $_POST['description'];
5. 对字符串使用单引号
PHP 引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉 PHP 引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。最好是使用字符串连接而不是双引号字符串。BAD:$output = "This is a plain string";GOOD:$output = 'This is a plain string';BAD:$type = "mixed";$output = "This is a $type string";GOOD:$type = 'mixed';$output = 'This is a ' . $type .' string';
6.不要在 echo 中使用连接符
不知道在用 恶臭输出多个变量的时候,其实可以使用逗号来分开的,而不必用字符串先把他们先连起来,如下面的第一个例子中,由于使用了连接符就会有性能问题,因为这样就会需要 PHP 引擎首先把所有的变量连接起来,然后在输出,而在第二个例子中,PHP 引擎就会按照循序输出他们。BAD:echo 'Hello, my name is' . $firstName . $lastName . ' and I live in ' . $city;GOOD:echo 'Hello, my name is' , $firstName , $lastName , ' and I live in ' , $city;
7.小括号()规则
不要把小括号和关键词、方法名、方法参数紧贴在一起,要用一个空格分隔,例:
if ( $condition ) //推荐
{
...
}
8.if ..else规则
if .. else ... 规则
通常最好有一个else块以用于处理未处理到的或未知的其他情况,即使条件处理语句
只有一个也必须使用大括号{},例:
if ( $condition1 )
{
...
}
else if ( $condition2 )
{
...
...
}
else
{
...
}
尽可能避免以下使用方式,例:
if ( $condition1 )
...
else
...
9.变量名规范
局部变量命名
使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的
首个字母使用小写,不使用下划线,例:
$repeatCount = '';
$delUserSql = '';
全局常量命名
使用英文名词、动词,所有字母都使用大写,以下划线分隔每个单词,例:
define( 'WEBSITE_NAME', '名称' );
define( 'WEBSITE_URL', '地址' )
数组变量命名
使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首
个字母使用小写,不使用下划线,以字符串Array为后缀,例:
$scopeArray = array();
$bookIdArray = array();
静态变量命名
使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首
个字母使用小写,不使用下划线,以字符串Static为后缀,例:
function getDirectoryFile()
{
static $fileArrayStatic = '';
static $fileNumStatic = '';
...
}
对象变量命名
使用类名称为变量前缀,所有字母都使用大写,以字符串_OBJECT为后缀,例:
$USERACCOUNT_OBJECT = new UserAccount();
$PAINTINGORDER_OBJECT = new PaintingOrder();
二,数据库
数据库的设计必须符合三个范式(极端要求常用高速时考虑单独设置记录表除外)。
数据库名称应该由概述项目内容的小写英文名词组成,以下划线分隔单词,
避免跨平台时可能出现的大小写错误。
数据表名称应该由物件对象名称的小写英文名词组成(尽可能对应系统中的业务类名称),
以下划线分隔单词,避免跨平台时可能出现的大小写错误。
数据表的字段应避免使用varchar、text等不定长的类型,时间信息的字段使用unix tiemstamp类型存储。
查询数据时禁止使用*通配符避免占用资源加速处理速度,尽量避免使用临时表。
查询数据连接多表时各资源应该使用全名称,即tableName.fieldName,而不是fieldName。
SQL语句应尽可能符合ansi92标准,避免使用特定数据库对SQL语言的扩充特性。
开发结束后,必须针对SQL查询语句的条件语句部分(where)添加索引,
须匹配多个条件的应该使用聚合索引。
索引的组成应由左至右匹配条件语句的顺序。
严禁盲目添加索引,避免减慢数据插入的速度、增大占用空间及减慢查询速度。
每当数据库(表)发生结构性变化时须登记保存;日常须定时(不超过三个工作日)
备份数据库结构及其数据。
- PHP开发规范!
- PHP开发规范!
- PHP开发规范!
- php开发规范
- php开发规范
- PHP开发规范分享
- PHP开发规范
- PHP开发规范【总结】
- php开发规范
- PHP开发规范
- PHP开发规范PSR
- php开发规范
- php开发规范 psr
- PHP开发代码规范
- (1)PHP开发规范
- PHP开发编码规范
- php开发规范1
- php开发规范2
- c++宏定义和内联函数的区别
- MFC项目实战(1)文件管理器--界面设计篇
- 查看已安装python module
- AS3 正则表达式应用 格式检查与限制输入内容
- 树的直径,树的重心,树的分冶
- php开发规范
- 求出1…n之间的所有亲和数
- 怎样修改项目.NET FRamework版本
- hdu 3308 LCIS
- 解释结构模型ISM-2-3
- iOS 7: 如何为iPhone 5S编译64位应用
- java内部类详解
- Codeforces Round #204 (Div. 1) E. Jeff and Permutation
- 详解大端模式和小端模式