返回
南京学途培训
置顶
该校与厚学网暂未合作,平台不保证课程的真实有效性,如有侵权等争议,请及时与厚学网联系处理
招生热线:400-800-2178

学校地址:南京市雨花台区小行路52号

PHP开发规范!

154 2017-06-11 17:31:42

学习笔记

  一、规范前言篇
  标准化不是特殊的个人风格,它让程序员可以了解任何代码,弄清程序的状况;新人可以很快的适应环境;防止新接触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';
  统一使用,禁止使用格式。
  对于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()。
  这么做使功能和数据成为更可区分的物体。
  

文中图片素材来源网络,如有侵权请联系删除
来源:南京学途培训
热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请
刷新
图形验证
关闭
>>
拖动左边滑块完成上方拼图