Deprecated: Optional parameter $keys declared before required parameter $cms_id is implicitly treated as a required parameter in /home/www/dev/work/class/blog/CmsKey.php on line 75

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\main::$outlink is deprecated in /home/www/dev/work/website/lvesu/template/blog/cms/cms.tpl on line 2

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\main::$status is deprecated in /home/www/dev/work/website/lvesu/template/blog/index.head.php on line 2
PhpStorm中PHP注释的规范指南 - 互联网笔记

略微加速

略速 - 互联网笔记

PhpStorm中PHP注释的规范指南

2025-04-28 leiting (27阅读)

标签 PHP

以下是PhpStorm中PHP注释的规范指南,结合PHPDoc标准及PhpStorm特性,分点说明:

一、PHPDoc注释规范

  1. 基本语法

    • /**开头,每行以*开始,对齐星号,以*/结束。

    • 示例:

      /**
       * 计算两数之和
       */
  2. 常用标签

    • @param: 描述参数类型及用途。

      @param int $num1 第一个数字
      @param string|null $name 可选参数
    • @return: 返回值类型及说明。

      @return float 返回计算结果
    • @throws: 抛出异常类型及条件。

      @throws InvalidArgumentException 参数无效时抛出
    • @var: 类属性或变量类型提示。

      /** @var \App\Models\User $user */
    • @deprecated: 标记弃用,建议替代方案。

      @deprecated 1.0.0 请使用newMethod()代替
  3. 类与方法注释

    • 类注释包含描述、作者、版本等:

      /**
       * 用户管理类
       * @package App\Services
       * @author John <john@example.com>
       */class UserService {}
    • 方法注释示例:

      /**
       * 用户登录验证
       * @param string $username 用户名
       * @param string $password 密码
       * @return bool 验证成功返回true
       * @throws LoginException 登录失败时抛出
       */public function login($username, $password) {}

二、行内注释规范

  1. 单行注释

    • 使用//后跟空格,注释在代码右侧或上方。

      // 验证用户权限
      if ($hasAccess) {
          $user->login();// 登录操作
      }
  2. 多行注释

    • 避免/* */,优先用//或PHPDoc块。

      // 此处需要优化
      // 因性能问题暂时禁用缓存
      // 待后续重构

三、PhpStorm特性

  1. 自动生成注释

    • 输入/**后回车,自动生成模板。

    • 快捷键:Alt + Enter(在方法名上)生成/更新注释。

  2. 类型推断与提示

    • 使用@var为动态属性添加类型提示:

      /** @var \App\Models\User $user */            
      $user = User::find(1);

四、最佳实践

  1. 清晰简洁

    • 避免冗余注释,如// 设置名字为John,代码自解释时无需注释。

  2. 及时更新

    • 修改代码后同步更新注释,避免误导。

  3. 任务标记

    • 使用TODO/FIXME标注待办事项:

      // TODO: 添加异常处理            
      // FIXME: 修复边界条件问题
  4. IDE配置

    • 调整代码风格:Settings -> Editor -> Code Style -> PHP设置注释格式。

五、示例汇总

/**
 * 用户服务类
 * @package App\Services
 */
 class UserService {
     /** @var UserRepository 用户仓库实例 */
    private $userRepo;

    /**
     * 根据ID获取用户
     * @param int $userId 用户ID
     * @return User|null 用户对象或null
     * @throws DatabaseException 数据库错误时抛出
     */
    public function getUser($userId) {
        // 检查ID有效性
        if ($userId <= 0) {
            return null;
        }
        /** @var User $user */
        $user = $this->userRepo->find($userId);
        // TODO: 添加缓存机制
        return $user;
    }
}

遵循这些规范可提升代码可读性,并充分利用PhpStorm的智能提示和自动化功能。


北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3