Site Tools


Writing /home/www/dokuwiki/conf/plugins.local.php failed
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
start:acpf_php_rule

命名规范

PSR规范

PSR规范很多地方值得借鉴,连接传送门: https://www.jianshu.com/p/b33155c15343

变量

变量最好是自解释的。

局域变量

[建议]采用驼峰形式来表示,使用英文名词、动词。变量最前面带类型。 长度最好不超过25个字符

比如:

strUserName, 表示用户名称,并且是字符串类型。

类型前缀:

  • str : 表示字符串
  • int :表示数字类型
  • flt :表示浮点数
  • chr :表示字符
  • arr : 表示数
  • obj:表示对象
  • bol: bool对象

全局变量

全局变量不推荐大家使用,如果一定要用一定要小心。 变量命名规则是在局域变量前加上g,比如strUserName的全局变量时gStrUserName。

常量

使用英文名词、动词来表示,所有字母大写, 中间用”_”来隔开。 比如 “DATA_PATH”

函数

函数名称还用驼峰形式来表示。 getUserName

类名

采用英文单词名称,驼峰形式。 比如:UserLogin

神奇的数字

不允许出现神奇数字,比如intType == 1;	
需要定义,比如:
Define(“USER_TYPE_STUDENT”, 1);
$intType = USER_TYPE_STUDENT;

书写规制

  • [强制]用4个空格来替换tab来排版对齐。
  • {}
{ 跟在函数或者类定义后面。
比如:getUserName($intUid) {
}
  • 数组,定义数组时候,分行来实现。最后一个数值带上一个“,”。

比如:

$arrUser = array(
    “uid” => 1,
    “uname” => 2,
);
  • 长句,最好能切分开成多段。
  • If..else..语句,foreach,while语句
无论if或者else是否只有一行,都要带上{}
比如:
If ($bolAdmin){
    $intUserId = 1;
}
Else{
    $intUserId = 2;
}
while($intIndex <= 100){
    $intIndex++;
}
  • If..elseif..else语句。使用if..elseif..else语句,不推荐用if…else if .. else语句
  • 3目运算必须简写。
  bolUser ? 1 : 0; (1不能省略)
  
  • 一个文件只能包含一个类。
  • 文件最后不要加上?>
  • 私有函数:_getUserInfo();
  • [建议]If、while、foreach嵌套不能超过3

注释

  • [强制]类的注释必须有,规范如下:(推荐用Doxygen插件)
/**
  * @file Log.php
  * @synopsis 业务日志类,功能:
  *		1.按照配置日志格式打印warning、error、notic日志,日志格式
  * 	  2.......
  * @author yezemin, [email protected]
  * @version 1
  * @date 2014-06-23
  */
  • [强制]函数的注释,关键函数必须注释
  /** 
   * @synopsis  getUserName
   * 获取用户名
   * @returns 
   */
   public function getUserName(intUserId){
   }
 
  • [强制]函数内注释,对if,for、while循环超过30行代码的,对这个数据块加上注释。
  • [强制]常量注释,业务层的常量必须加上注释
 Const DATA_PATH = “/home/www/data”; //数据层目录变量
start/acpf_php_rule.txt · Last modified: 2023/10/31 07:38 by 127.0.0.1