一、规范前言篇
标准化不是特殊的个人风格,它让程序员可以了解任何代码,弄清程序的状况;新人可
以很快的适应环境;防止新接触php的人一次次的犯同样的错误;在一致的开发环境下,
可以减少人们犯错的机会。本规范的标准在绝对多数应用上为仿照java技术体系,因为
java技术体系以其众多成功的案例成为大部分计算机应用层的工业标准,此外便于日后
公司向java技术体系转型。
二、命名定义篇
局部变量命名
使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的
首个字母使用小写,不使用下划线,例:
$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();
类命名
使用英文名词,以大写字母作为词的分隔,其他的字母均使用小写,名词的首个字母
使用大写,不使用下划线,例:
class UserAccount
{
...
}
class PaintingOrder
{
...
}
方法命名
使用英文名词、动词,以大写字母作为词的分隔,其他的字母均使用小写,单词的首个
字母使用小写,不使用下划线,例:
class UserAccount
{
function isAccountOk()
{
...
}
function addAccount()
{
...
}
}
方法中参数命名
使用英文名词、动词,以大写字母作为词的分隔,其他的字母均使用小写,单词的首个字母
使用小写,不使用下划线,例:
class UserAccount
{
function isAccountOk( $accountName )
{
$this->accountName = $accountName;
...
}
function addAccount( $inputDataArray )
{
$this->inputArray =
$inputDataArray;
...
}
var $accuntName = '';
var $inputArray = '';
}
类属性命名
使用英文名词、动词,以大写字母作为词的分隔,其他的字母均使用小写,单词的首个字母
使用大写,不使用下划线,对于类属性为某个对象变量,则以字符串Object为后缀,例:
class UserAccount
{
function IsAccountOk()
{
...
}
function AddAccount()
{
...
}
var $tableName = '';
var $databaseObject = '';
}
三、语法书写篇
大括号{}规则
将大括号放置在关键词下方的同列处,例:
if ( $condition )
{
...
}
不使用此种方式:
if ( $condition ) {
...
}
代码缩进规则
使用制表符缩进(TAB键)或四个空格。如果缩进层数大于四的时候,请重新设计该项业务逻辑的算法。
小括号()规则
不要把小括号和关键词、方法名、方法参数紧贴在一起,要用一个空格分隔,例:
if ( $condition )
{
...
}
function addAccount( $inputDataArray )
{
...
}
由于小括号与关键词等紧贴容易被看成是一体,因此不要使用以下方式,例:
if ($condition) {
...
}
function addAccount($inputDataArray)
{
...
}
if .. else ... 规则
通常最好有一个else块以用于处理未处理到的或未知的其他情况,即使条件处理语句
只有一个也必须使用大括号{},例:
if ( $condition1 )
{
...
}
else if ( $condition2
)
{
...
...
}
else
{
...
}
尽可能避免以下使用方式,例:
if ( $condition1 )
...
else
...
switch规则
每个case块结束处必须加上break,而default总应该存在处理未知情况,例:
switch( $condition )
{
case $value1:
...
break;
case
$value2:
...
break;
default:
...
break;
}
声明定位规则
声明代码块需要对齐,且初次使用变量时需要初始化,例:
var $tableName = '';
var $databaseObject = '';
不使用以下方式,例:
var $tableName;
var $accuntName = '';
var $databaseObject = '';
四、其它说明篇
所有类方法必须有返回值,除结果简单外返回true或者false之外,其它方法应返回不同的值
以交作流程进一步处理。
html的form表单统一不设置submit按钮的名称属性(name)。
html的form表单各个元素名称与数据库字段保持一致。
每行一个语句。
不要采用缺省方法测试非零值,必须显式测试,例:
if ( false != $this->IsAccountOk()
)
{
...
}
else
{
...
}
不要使用以下方式,例:
if ( $this->IsAccountOk()
)
{
...
}
else
{
...
}
不要使用三元逻辑符 ? :,但对变量的赋值除外,例:
$_GET['act'] = !empty( $_GET['act'] ) ? $_GET['act'] : 'v_login';
统一使用<?php ?>,禁止使用<? ?>格式。
对于get、post、session类型变量,必须使用$_GET、$_POST、$_SESSION方式定义和调用。
尽可能使用单引号''而不是双引号''。
使用完毕后的数组变量、对象变量、查询集合必须马上使用unset()、free_result()释放资源。
一个php文件只能包含一个类定义编码,以类名称作为文件名称。
php文件中绝不能出现html语句,html文件中尽可能避免出现php语句。
html文件必须通过w3c的html4检测认证(http://validator.w3.org/
)。
如果发觉您在程序中的命名只有少量能和其对应事物相匹配的话,请重新设计系统。
在为类命名前首先要知道它是什么。如果通过类名提供的线索,您还是想不起这个类是什么的话,
那么您的设计是做得不够好。
超过三个单词组成的混合名是容易造成系统各个实体间的混淆,请重新设计类。
通常每个方法只执行一项逻辑动作事务,所以对它们的命名应该清楚的说明它们是做什么的:用checkForErrors()代替errorCheck(),用dumpDataToFile()代替dataFile()。
这么做使功能和数据成为更可区分的物体。
五、程序注释篇
类的注释
/*
* Purpose:
* 作为通用接口访问数据库的类
* Class Name:
* Database
*
Author:
* unixdotnetyjx_hao123@163.com
* Modifications:
*
2004-08-18 09:15
* 添加db_insert_id()方法
* unixdotnetyjx_hao123@163.com
* See: 参照说明
*/
class Database
{
……
}
类方法的注释
/*
* Purpose:
* 取得上一步数据库insert操作产生的id
* Method Name:
*
getInsertId()
* Parameter:
* Return:
* int
* Author:
* unixdotnet
yjx_hao123@163.com
* Modifications:
* 2004-08-18 09:15
* 修改原因
* unixdotnet yjx_hao123@163.com
* See: 参照说明
*/
function getInsertId()
{
...
}
类属性的注释
class Database
{
/*
* Purpose:
* 连接数据库所需的用户名
*
Attribute Name:
* $databaseUserName
* Type: string
* Author:
*
unixdotnet yjx_hao123@163.com
*
Modifications:
* 2004-08-18 09:15
* 修改原因
* unixdotnet yjx_hao123@163.com
* See: 参照说明
*/
var $databaseUserName;
...
}
六、数据库应用篇
数据库的设计必须符合三个范式(极端要求常用高速时考虑单独设置记录表除外)。
数据库名称应该由概述项目内容的小写英文名词组成,以下划线分隔单词,
避免跨平台时可能出现的大小写错误。
数据表名称应该由物件对象名称的小写英文名词组成(尽可能对应系统中的业务类名称),
以下划线分隔单词,避免跨平台时可能出现的大小写错误。
数据表的字段应避免使用varchar、text等不定长的类型,时间信息的字段使用unix tiemstamp类型存储。
查询数据时禁止使用*通配符避免占用资源加速处理速度,尽量避免使用临时表。
查询数据连接多表时各资源应该使用全名称,即tableName.fieldName,而不是fieldName。
SQL语句应尽可能符合ansi92标准,避免使用特定数据库对SQL语言的扩充特性。
开发结束后,必须针对SQL查询语句的条件语句部分(where)添加索引,
须匹配多个条件的应该使用聚合索引。
索引的组成应由左至右匹配条件语句的顺序。
严禁盲目添加索引,避免减慢数据插入的速度、增大占用空间及减慢查询速度。
每当数据库(表)发生结构性变化时须登记保存;日常须定时(不超过三个工作日)
备份数据库结构及其数据。
1.
给php变量赋值为字符串,尽量用单引号。单引号速度要快很多。
2.
给php变量赋值时,值中带变量,就的用双引号了,双引号能自动解析变量,方便很多。
如$b=blue; $a="php$b"; echo $a;
输出phpblue (单双引号各有千秋啊)
3. html内尽量用双引号,无论多长拿到php中首尾加单引号就行,甭怕错。
分享到:
相关推荐
《腾讯PHP开发规范v1.0》是一份由腾讯科技(深圳)有限公司制定的、针对PHP编程语言的开发规范文档,旨在提升代码质量和团队协作效率。这份规范详细规定了从项目结构、命名规则到错误处理等多个方面的编程标准,是...
在PHP程序开发中,规范是确保代码可读性、可维护性和团队协作一致性的重要准则。以下是一些关于PHP编程规范的关键点: 1. **变量命名规范**: - 普通变量应全小写,用下划线分隔单词,如 `$time_of_error`。 - ...
《PHP开发规范》是一份详尽的编程指南,旨在为PHP开发者提供一套统一的编码标准,以提升代码质量、可读性和团队协作效率。这份规范不仅适用于PHPCMS项目,也广泛适用于其他PHP项目。 规范的引言部分强调了标准化的...
**腾讯PHP开发规范** 引言 ------ PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域,它扮演着至关重要的角色。为了确保代码的质量、可维护性和团队协作效率,腾讯制定了这一套PHP开发规约,旨在指导开发人员...
在软件开发过程中,遵循一套统一的开发规范至关重要。这不仅有助于提高代码质量,减少错误,还能提高团队协作效率。本文将深入探讨“代码开发规范”和“团队开发规范”,主要针对C#和VB.NET编程语言,同时也会涉及...
下面将详细阐述这份PHP项目开发规范文档中的主要知识点。 1. **文件及文件目录规范** - **命名规范**:文件和目录的命名应遵循一致性、清晰性和可读性的原则。通常推荐使用小写字母,单词间用下划线`_`分隔,避免...
### PHP MySQL 开发规范 #### 第一章:前言 本规范旨在为LAMP环境下的开发提供一套统一的标准,确保代码质量与可维护性。LAMP代表Linux、Apache、MySQL和PHP,是构建Web应用程序的常用技术栈。文档版本号为V0.1,...
### PHP项目开发规范知识点 #### 一、项目背景与目的 覃健祥撰写的《PHP项目开发规范》是一份详尽的技术文档,旨在为Magic项目提供一套完整的开发指南。这份文档经历了作者长时间的实践和积累,并针对实际项目进行...
**PHP开发规范** **前言** 本PHP开发规范旨在提供一套标准的开发准则,以便于提升代码质量和团队协作效率。本手册受到了阿里巴巴Java开发手册的启发,并根据PHP语言特性进行了定制,包括对命名、面向对象编程、控制...
PHP开发规范指南包含了项目开发规范、PHP编码规范、Mysql数据库设计规范、单元测试规范、异常日_standard
PHP 开发规范 PHP 开发规范是指在 PHP 项目中编写高质量代码的指导方针,本文档旨在为 PHP 开发者提供一个统一的开发规范,以提高代码的可读性、可维护性和可扩展性。 命名规则 在 PHP 项目中,命名规则是编码...
### Discuz! X1.5 二次开发及模板制作详解 ...同时,遵循一定的开发规范可以有效提升开发质量和效率,保障系统的稳定运行。希望各位开发者能够在实际工作中灵活运用这些知识,打造出更加优秀的产品。
《PHP程序开发规范文档》是公司为提升代码质量和团队协作效率而制定的重要指导文件,它包含了一系列关于PHP编程的规则和最佳实践。这份文档旨在帮助开发者遵循一致的编码风格,提高代码可读性,减少错误,并确保代码...
PHP开发规范1 PHP开发规范是指在编写PHP代码时应该遵守的规则和标准,以提高代码的质量、可读性、维护性和重用性。这些规范涵盖了编码、设计风格、命名规则、格式化、字符串引用、忠告、注释、类、函数或方法、...
《腾讯PHP开发规范》是一份重要的技术文档,旨在为PHP开发者提供一套标准的编码和开发指导,以确保代码的质量、可读性、可维护性和团队协作的效率。这份规范不仅适用于腾讯内部的开发团队,也对广大PHP开发者具有很...
腾讯PHP开发规范v1.0 腾讯 PHP 开发规范 v1.0 是一份详细的开发规范文档,旨在帮助 PHP 开发者遵循统一的开发标准,提高代码质量和可维护性。以下是从该文档中提取的重要知识点: 1. 文档结构:文档采用层次结构,...
【PHP编程规范】是指导PHP开发者编写代码时应遵循的一系列规则和最佳实践,旨在提高代码的可读性、可维护性和团队协作效率。本文档主要涵盖了标准的重要性、优缺点、实施策略、命名规则等方面。 1. **标准化的重要*...
### PHP开发规范详解 #### 一、概述 在软件开发过程中,制定一套统一且高效的编码规范至关重要。良好的编码规范不仅能提升代码的可读性和可维护性,还能促进团队成员之间的协作效率。本篇文章将详细解析一份针对...