Heredoc 和 Nowdoc 的背景 Here 文档 在 wiki 上的定义: 在计算机学科中,here文档,又称作 heredoc、hereis、here-字串或here-脚本,是一个文件输入或者数据流输入:可以被当成完整文件的块状代码。它可以保存文字里面的换行或是缩排等空白字元。一些语言允许在字串里执行变量替换和命令替换 heredoc、nowdoc 技术是php用来引用字符串的一种方式 Nowdoc 从 PHP 5.3.0 版本开始支持,他和 Heredoc 的不同之处,仅是双引号和单引号的差别。 Nowdoc 在开始标记周围添加了单引号,则没有解析。

语法

1.标识符可以自定义 一般的 有EOT ,EOD EOF 等, 只有保持开始表示符和结束表示符一样即可。

2.结束表示符必须独占一行,且必须顶格写,最后以 ‘;’ 分号结尾。

3.所有引用的字符串中可以包含变量,无需字符串连接符。 heredoc实例:

微信截图_20190530174318.png

nowdoc实例:

微信截图_20190530174905.png

特别说明

php.net RFC 频道已经公布了 PHP 7.3 的 Heredoc 和 Nowdoc 语法更新,此次更新专注于代码可读性: Heredoc 和 Nowdoc 有非常严格的语法,有些时候这令很多开发者避而远之,因为他们在代码中看起来非常丑陋,令代码的可读性降低。本次的更新针对此问题,对语法做出了以下两个更改:

  1. 支持闭合标记符的缩进;
  2. 不再强制闭合标记符的换行; Heredocs 和 Nowdocs 的改进将会让你的 PHP 代码更加具有可读性,错误率也会降低。另一方面,因为会闭合标记符的缩进会被移除,所以输出会更加简洁直接。