0

、使用heredoc格式而不是使用'and有什么优势"吗?

唯一明显的是,当我们使用 heredoc 格式时,我们不需要\'or \"

还有其他使用heredoc的理由吗?也许从处理速度等方面...

注意:我不是在考虑可读性或其他个人喜好。

二、变量是否类似于$var具有heredoc 格式的字符串中的进程?

4

2 回答 2

1
  1. 使用heredoc没有任何优势。除了换行符(你没有提到这一点)。
  2. 变量将像在双引号字符串中一样扩展。

PHP 不允许在类属性的初始化中使用heredoc,所以你可以说这也是一个缺点(然而,从php5.3 开始,这仅适用于heredoc 中的变量)。

Nowdoc 是单引号,就像 Heredoc 是双引号一样。(Nowdoc 不会扩展变量)。

于 2013-06-22T20:18:28.870 回答
0

我在 bash 编程中经常使用 heredocs - 作为生成文件的快速而肮脏的模板。Heredocs 也更容易包含在从多个其他文件合并的源文件中(更容易在一个文件中分发数据和代码)。

恕我直言,这是一种有用的技术,可以提高源文件中包含的数据的可读性。Heredocs 也被用来创建自解压脚本比创建自解压档案要容易得多。

我猜在 PHP 中它们有类似(和边际)的用法。例如:我想将一些Javascript代码嵌入到heredoc中然后在引用的字符串中更容易和更干净 - 想象一下PHP文件中的javascript中的一些复杂的正则表达式并且所有反斜杠都转义。

于 2013-06-22T20:34:59.903 回答