注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

技术行者

时代的车轮在按照摩尔定律滚动。

 
 
 

日志

 
 

PHP程序编写规则  

2011-01-08 18:23:00|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

PHP命名规则

 

1 普通变量命名

  采用驼峰方式。首字母小写,然后后面的字母按照大小写间隔的方式加以区分。

  如果有单词缩写,则采用大写形式。如:SQL 。同时应该避免大写的单词在一起,比如IMGFile,无法直接判断单词的分割,则应该写成imgFile。

2 函数命名

采用动词加名词的形式,动词小写,后面的名词用大小写间隔。如果需要,可以增加小写的前缀,这时动词则大写开始。比如:

没有前缀的情况:getUserName

有前缀的情况:sysGetUserName

3 类命名

?类命名采用pascal的方式,首字母大写,采用大小写间隔的方式加以区分。

?类的属性采用camel方式,首字母小写,后面采用大小写间隔的方式加以区分。

?类的方法同普通函数的命名方式。

4数据库命名

?数据库、表、字段的命名与PHP类名相同,采用大小写混合的方式,比如:

Database:AD

Table :UserList

Field :UserName,UserPassword,BirthDate……      

?SQL 查询语句中关键词使用大写。 比如:SELECT * FROM UserList WHERE ……

?数据库定义文档请按照下面的格式进行:

表名:客户表:UserInfo

序号字段名字段描述字段类型、大小为空默认值键名索引

1ScholarID学者编号SmallInt UnsignedNot自增YY

2ScholarName学者姓名VarChar(20)NotNY

3SortID排列顺序TinyInt UnsignedNot1

4ScholarIntro学者简介TextNotNY

5Images学者图片VarChar(79)

6AddUaser添加者VarChar(30)Not

7UpdateDate最后更新时间DateTime0

备注:对某些字段的说明。或者自己的设计思想。

如果数据库后期有改动,文档保持同步。

 

PHP脚本文件的组成部分及注释:

 

每个文档按照以下顺序排列:功能说明部分、包含文件部分、变量声明、初始化部分、自定义函数部分和具体的业务逻辑。

注释按照phpdoc的标准进行,这样可以和c++程序统一起来。 http://phpdoc.org/index.php

1功能说明部分

在每一个的开头部分,要包含这个程序的简要说明、详细说明以及作者和最后修改时间。注释采用phpdoc的注释方式。

 

<?

/**

 * iMatch监控程序(简单注释)

 *

 * 此脚本程序用来监控iMatch所建索引的完整性、一致性、正确性。(详细说明)。

* @package     iMatch(属于哪一个模块,可以根据程序的功能加以划分。)

 * @author      wangcs <chunsheng.wang@alibaba-inc.com,wwccss@263.net>

 * @version     $Id$

 */

?>

 

说明:

?详细说明部分是可选的,如果某个页面的逻辑比较复杂,可以在详细说明部分加以解释。

?其中的$Id$会被自动替换成subverion的相应信息,其中包含文件名、日期、修改者等信息。

?作者部分应该留两个地址,一是目前正在使用的公司邮箱,一是自己私人邮箱。这样可以方便后续的维护者联系到你。

2包含文件部分:

在每个文档的开头部分包含此程序所用到的包含文件。如:

 

include ‘init.php’;

include ‘func/common.php’;

 

说明:

?如果用到session则需要将session_start()函数放到程序的第一句。

3变量说明部分:

如果有变量需要特别声明,则在此给出。可以通过注释语句的方式来加以说明。比如:

//userName 当前登陆用户的用户名。

4自定义函数部分:

如果当前PHP脚本需要定义一个函数,则在此声明。凡有两个以上文件用到的函数,则放到公共函数库文件或者某个项目模块的函数库文件中,比如lib/func/common.php,lib/func/iMatch.php。 

自定义函数需包含以下几个部分:函数功能描述、函数变量说明、返回值说明。示例:

 

<?

/**

  * 数据库连接函数(简单说明)

  *

  * 通过这个函数链接到数据库,并返回相信的链接标识符。(详细的说明)

  * @author  wangcs<chunsheng.wang@alibaba-inc.com, wwccss@263.net>

  * @global string             数据库服务器(全局变量声明,无需指定变量名,顺序对应)

  * @global string             数据库用户名

  * @global string             数据库密码

  * @global string             要使用的数据库

  * @param string $SQL        连接成功以后执行的查询语句,默认为空。(变量声明)

  * @return array              返回数据库连接信息。(返回值说明)

  */

  function dbConnect ($SQL="")

  {

global $DbHost,$DbUser,$DbUserPWD,$DbDatabase;  

      $ConnInfo = array();

      $LinkID = mysql_connect($DbHost,$DbUser,$DbUserPWD);

      mysql_select_db($DbDatabase);

     $ResultID = mysql_query($SQL,$LinkID); 

      $ConnInfo["LinkID"] = $LinkID;

      $ConnInfo["ResultID"] = $ResultID;

      return $ConnInfo;

  }

?>

5具体的业务逻辑部分注释:

?注释的原则是将问题解释清楚,并不是越多越好。

?若干语句作为一个逻辑代码块,这个块的注释可以使用/* */方式。

?具体到某一个语句的注释,可以使用//进行注释。

?类的注释方式请按照下面的方式进行:

<?php

/**

 * 数据记录分页显示类。(对整个类文件的简单说明)

 *

 * 一个关于数据分页显示的类,可以通过下拉列表来选择页面。(详细的说明)

 * @package     iMatch  (所属的模块名称)

 * @author      wangcs  <chunsheng.wang@alibaba-inc.com, wwccss@263.net>

 * @version     $Id$

 */

  class Page

  {

    /**

   * 记录总数。(对类属性的声明。)

   * @var int

   */

   var $recTotal;

 

  /**

   * 每页显示记录数。

   * @var int

   */

   var $recPerPage;

 

/**

     * 取得某一条件查询结果的记录总数。(对类方法的说明,与对函数的说明相同)

     *

     * @global  object $DB          数据库链接信息。

     * @param   int     $userCount  用户数量。

     */

     function abc()

{

}

  

PHP书写格式约定:

 

?大括号分成两列书写,理由是可以方便的界定大括号的范围。

?缩进采用四个空格,不使用Tab键进行缩进。

?操作符前后应该有空格,比如 $userName = ‘wangcs’;

?同一逻辑代码块的代码操作符应当尽量对齐,这样可以方便阅读。

$userName     = ‘’;

$userAddress = ‘20’;


  评论这张
 
阅读(2868)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017