如何将 PHP 代码存储在'heredoc'变量中?



我想将以下代码存储在一个HEREDOC变量中:

<?php
    $var = 'test';
    echo $var;
?>

:

$hered = <<<HERED
<?php
    $var = 'test';
    echo $var;
?>
HERED;

问题是HEREDOC像双引号一样工作,"" -这意味着每个美元符号($)必须用$代替…

是否有一种方法可以使用HEREDOC而不执行此操作?

是的,有。查看nowdoc语法:

$hello = 'hey';
$echo <<<'EOS'
$hello world!
EOS;
//Output: $hello world

可以使用:

echo <<<HEREDOC
<?php
    $var = 'test';
    echo $var;
?>
HEREDOC;

我知道现在有doc,但举个例子,我现在的用例需要heredoc,因为有些美元需要转义,有些不需要:

$variableNotToEscape = 'this should be output';
echo <<<HEREDOC
$variableNotToEscape
$variableNotToEscape
HEREDOC;

返回

this should be output
$variableNotToEscape

最新更新