小编典典

在 PHP 中使用 heredoc 有什么好处?

all

在PHP中使用heredoc有什么好处,你能举个例子吗?


阅读 64

收藏
2022-06-28

共1个答案

小编典典

heredoc 语法对我来说更简洁,它对于多行字符串和避免引用问题非常有用。过去我曾经使用它们来构建 SQL 查询:

$sql = <<<SQL
select *
  from $tablename
 where id in [$order_ids_list]
   and product_name = "widgets"
SQL;

对我来说,这比使用引号引入语法错误的可能性更低:

$sql = "
select *
  from $tablename
 where id in [$order_ids_list]
   and product_name = \"widgets\"
";

另一点是避免在字符串中转义双引号:

$x = "The point of the \"argument" was to illustrate the use of here documents";

上面的问题是我刚刚介绍的语法错误(缺少转义引号),而不是这里的文档语法:

$x = <<<EOF
The point of the "argument" was to illustrate the use of here documents
EOF;

这有点风格,但我使用以下规则作为单、双和此处定义字符串的文档:

  • *当字符串是常量时使用 *单引号,例如'no variables here'
  • *当我可以将字符串放在单行并需要变量插值或嵌入单引号时使用双 *引号"Today is ${user}'s birthday"
  • 这里 是需要格式化和变量插值的多行字符串的文档。
2022-06-28