2011-10-18 34 views
8

我想下面的代码存储HEREDOC变量中:如何将PHP代码存储在heredoc变量中?

<?php 

$var = 'test'; 
echo $var; 

?> 

这样的:

$hered = <<<HERED 
<?php 

$var = 'test'; 
echo $var; 

?> 
HERED; 

的问题是,HEREDOC就像双引号"" - 这意味着每一个美元符号($ )必须替换为\$ ...

有没有办法使用HEREDOC而不执行此类操作?

+3

问题应该是:你为什么要这么做?你在这里做什么看起来像代码味道给我。 – bouke

+1

如果你以后要这样做'eval':请不要! – middus

回答

14

是的,有。查看nowdoc的语法:

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

这只适用于php v5.3 + – Ryan

+2

PHP 5.2在2.5年前达到了生命的尽头。从那时起,没有更多的旧版PHP安全更新,所以任何仍然在5.3之前运行PHP的人都应该尽快规划升级。 –

相关问题