PHP怎么多行注释_PHP多行注释用法【入门】

9次阅读

php多行注释必须用/…/,不可嵌套,不支持//或#;/*…/是专用于文档的PHPDoc注释,需遵循特定格式,工具链仅识别它。

PHP怎么多行注释_PHP多行注释用法【入门】

PHP 多行注释用 /* */,不是 //#,也不能嵌套。

多行注释的正确写法是 /* ... */

PHP 的多行注释必须以 /* 开始、*/ 结束,中间内容可跨任意行。它会完全忽略其中所有字符(包括 PHP 代码、html、空格和换行)。

常见误写:

  • 写成 /**/(少一个 *)→ 实际是 / 除法 + **/ 语法错误
  • 混用 // 想“延续”多行 → 每行都得单独写,不是多行注释
  • /* */ 里再写 /* */ → 不支持嵌套,第一个 */ 就结束注释,后面内容可能报错
/* 这是合法的多行注释 可以写很多行 也能包含 echo "hello"; 这样的代码,但不会执行 */

/* */ 和文档块注释 /** */区别

/** */ 是 PHPDoc 风格的文档块注释,属于 /* */ 的子集,但有约定俗成的格式(如 @param@return),主要用于生成 API 文档或被 ide 识别。普通多行注释不需要遵守这些规则。

立即学习PHP免费学习笔记(深入)”;

关键差异:

  • /* */:纯注释,解释逻辑、临时屏蔽代码,无结构要求
  • /** */:推荐用于函数/类/属性上方,第一行通常空或只含 /**,每行以 * 开头,结尾为 */
  • PHP 解析器对两者处理方式一致(都跳过),但工具链(如 phpDocumentor、PHPStan)只解析 /** */
/**  * 计算用户积分总和  * @param array $scores  * @return int  */ function sumScores(array $scores): int {     /* 临时屏蔽旧逻辑     return array_sum($scores) * 2;     */     return array_sum($scores); }

注释里写 PHP 代码会怎样?

只要在 /* */ 范围内,任何内容(包括 、HTML 标签、sql 片段)都不会被解析或执行,也不会触发语法检查。

但要注意:

  • 如果注释跨越了 PHP 开始/结束标签边界(比如 /* ),会导致解析器混乱,可能报 Parse error: syntax error
  • 注释中出现未闭合的字符串或括号(如 /* "hello )不影响,因为整段被跳过
  • 性能上无影响 —— 注释在词法分析阶段就被丢弃,不进入编译流程

别在注释里藏敏感信息

多行注释常被用来临时注释掉大段代码,但上线前容易忘记清理。尤其当里面包含数据库密码、API Key 或调试用的 var_dump($_SERVER) 时,如果文件被直接暴露(如配置错误导致 PHP 源码被当作文本返回),注释内容也会一并泄露。

安全建议:

  • 上线前运行 grep -r "/*" --include="*.php" . | grep -E "(password|key|secret|dump)" 快速扫描
  • 避免在注释中写真实凭证;用占位符(如 YOUR_API_KEY_HERE)并加 TODO 标记
  • IDE 中启用 “Show TODO comments” 提醒自己清理,但别依赖它

最麻烦的情况不是不会写,而是写完没删 —— 注释越长,遗忘概率越高。

text=ZqhQzanResources