乐趣区

PHP书写规范仅供参考

通用原则

  • 语义化:所见即所得
  • 前缀:is表示是否(is+ 形容词 + 名词),get表示读,set表示写
  • 单复数:如一个用户 getUser,多个用户 getUsers
  • 避免冗余:尽量不使用 datalistinfo 后缀
  • 慎用通用名称:慎重使用 commonutilfunctionsclassobjectbasic 等通用名称,难以维护;要根据功能起一个准确的名字,比如要做字符串处理的类,可以叫StringLib.php,放在 lib 目录里。

命名规则

  • 类名:遵循 StudlyCaps 规范,以大写字母开头,驼峰命名。
  • 类文件名:与类名相同。
  • 非类文件名:全小写,下划线分隔,不得使用空格。如get_user.php
  • 类中的常量:所有字母都 必须 大写,单词间用下划线分隔。如const APP_VERSION = '1.0.0';
  • 类中的属性:(以下都可以)

    • 大写开头的驼峰式 ($StudlyCaps)
    • 小写开头的驼峰式 ($camelCase)
    • 下划线分隔式 ($under_score)
  • 目录名:全小写,下划线分隔,不得使用空格。比如controllersmodels
  • 函数名:小写字母开头,驼峰命名,动词优先,两个函数中间空一行。如function editBlog(),而不用function blogEdit()
  • 变量:全小写,下划线分隔,例如:$user_id
  • 关键字:必须全部小写,常量 truefalsenull 也必须全部小写。
  • 单引号与双引号:优先使用单引号,当需要转义时使用双引号。

注释规则

  • 文件注释:注释紧跟 <?php 下一行。注明作者@author,版本号@version
<?php
/**
 * 业务:添加、更新
 * @author itxiaoma
 * @version 1.0.0
 */
  • 函数注释:功能,输入参数格式、名称,输出格式。
/**
 * 编辑博客
 * @param int $id 博客 ID
 * @return array
 */
 public static function editBlog($id)
  • 功能注释:功能,输入参数格式、介绍,输出格式。

    • 单行注释
    • 多行注释

      public static function editBlog($id)
      {
          $id = 0; // 单行注释
          /* 这是
          多行注释 */
      }

代码风格

  • 代码必须使用 4 个空格符而不是 tab 键 进行缩进。
  • 每行一定不能存在多于一条语句。
  • 每条语句一定不可定义超过一个属性。不要使用 $a=$b=0; 这种写法。
  • 每个 namespace 命名空间声明语句和 use 声明语句块后面,必须插入一个空白行。
  • 所有 use 必须 在 namespace 后声明。
  • 不要使用下划线作为前缀,来区分属性是 protectedprivate。不要使用 private function _test() 这种写法。
  • 方法的参数列表中,每个逗号后面必须要有一个空格,而逗号前面一定不能有空格。有默认值的参数,必须放到参数列表的末尾。

    public function foo($arg1, &$arg2, $arg3 = [])
    {}
  • 条件判断的大括号:必须有大括号,即使只有一行。

参考资料:

PHP Manual
http://www.php.net/manual/zh/…
PHP Coding Standards
https://github.com/php/php-sr…
PHP 书写规范 PHP Coding Standard
https://www.cnblogs.com/ooooo…

退出移动版