PHP注释是提升代码可读性与协作效率的关键,包含//、#单行注释和/.../多行注释三种语法,以及规范的DocBlock文档注释;应聚焦解释“为什么”,而非重复“做什么”,并随代码更新及时维护。

PHP注释不是可有可无的装饰,而是让代码“会说话”的基础能力。写得对、用得准,能省下大量沟通和调试时间。
三种标准注释语法怎么用
PHP支持三类原生注释,适用场景不同,不能混用:
-
// 单行注释:适合解释某一行逻辑、标注临时调试语句或说明变量用途。例如:
$count++;后面加// 计数器自增,用于统计用户点击次数 -
# 单行注释:功能与
//完全一致,但极少在业务代码中使用,多见于配置脚本或 Shell 风格环境,建议团队统一用//避免歧义 -
/* ... */ 多行注释:用于临时屏蔽整段代码、描述复杂流程(如数据校验步骤)、或写文件头信息。注意不能嵌套,例如
/* outer /* inner */ outer end */会导致语法错误
文档注释(DocBlock)怎么写才规范
这是面向协作和工具链的关键注释,必须放在函数、类、方法、属性定义正上方,以 /** 开头、*/ 结尾,配合标准标签生成可读文档:
-
@param type $name description:明确参数类型(如string|int)、变量名和业务含义,比如@param array $config 数据库连接配置项 -
@return type description:说明返回值类型与实际意义,避免只写@return mixed,应写@return bool true 表示更新成功,false 表示记录不存在 -
@throws ExceptionClass description:标出可能抛出的异常及触发条件,方便调用方做防御处理 -
@var type $name description:用于类型提示较弱的变量声明处,例如/** @var PDO $db */ $db = getConnection();
什么时候该写注释?重点写什么
注释的价值不在数量,在于是否解决“为什么”——而不是重复“做什么”:
立即学习“PHP免费学习笔记(深入)”;
- 写清楚**决策依据**:比如
if ($score > 85) { ... }后加注释// 85 分为优秀线,依据教务处2025年评估标准 - 解释**反直觉逻辑**:像
$timestamp = time() - 3600;可注释为// 减1小时,因上游系统时区未同步,需人工对齐 - 标记**待办与风险**:用
// TODO: 后续接入Redis缓存或// HACK: 临时绕过SSL验证,上线前必须修复 - 不写无意义注释:例如
$i = 0; // 初始化i或return $result; // 返回结果这类纯翻译,反而干扰阅读
实际协作中的维护要点
注释一旦写错或过期,危害大于不写:
- 代码修改后,顺手更新对应注释——特别是参数名变更、返回值逻辑调整、异常路径新增时
- 团队内约定注释风格(如是否缩进、空行规则、中文标点),推荐参考 PSR-5(PHPDoc)和 PHP-FIG 社区规范
- 利用 IDE(如 PhpStorm)自动补全 DocBlock、检查 @param 类型与实际入参是否匹配,把注释变成可验证的契约
- 用 phpDocumentor 或 Doctum 等工具定期导出接口文档,让注释真正“活起来”,而非沉睡在源码里



















