以下是PhpStorm中PHP注释的规范指南,结合PHPDoc标准及PhpStorm特性,分点说明:
基本语法
以/**
开头,每行以*
开始,对齐星号,以*/
结束。
示例:
/** * 计算两数之和 */
常用标签
@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()代替
类与方法注释
类注释包含描述、作者、版本等:
/** * 用户管理类 * @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) {}
单行注释
使用//
后跟空格,注释在代码右侧或上方。
// 验证用户权限 if ($hasAccess) { $user->login();// 登录操作 }
多行注释
避免/* */
,优先用//
或PHPDoc块。
// 此处需要优化 // 因性能问题暂时禁用缓存 // 待后续重构
自动生成注释
输入/**
后回车,自动生成模板。
快捷键:Alt + Enter
(在方法名上)生成/更新注释。
类型推断与提示
使用@var
为动态属性添加类型提示:
/** @var \App\Models\User $user */ $user = User::find(1);
清晰简洁
避免冗余注释,如// 设置名字为John
,代码自解释时无需注释。
及时更新
修改代码后同步更新注释,避免误导。
任务标记
使用TODO
/FIXME
标注待办事项:
// TODO: 添加异常处理 // FIXME: 修复边界条件问题
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的智能提示和自动化功能。
最新评论: