2011-10-18 25 views
8

me gustaría para almacenar el siguiente código dentro de una variable heredoc:Cómo almacenar el código PHP dentro de la variable heredoc?

<?php 

$var = 'test'; 
echo $var; 

?> 

así:

$hered = <<<HERED 
<?php 

$var = 'test'; 
echo $var; 

?> 
HERED; 

El problema es que heredoc funciona como comillas dobles "" - Esto significa que cada signo de dólar ($) tiene que ser reemplazado por \$ ...

¿Hay alguna manera de usar HEREDOC sin realizar tal operación?

+3

La pregunta debería ser: ¿por qué quieres hacer esto? Lo que estás haciendo aquí parece olor a código para mí. – bouke

+1

Si haces esto para 'eval' más tarde: ¡por favor no! – middus

Respuesta

14

Sí, la hay. Echa un vistazo a la sintaxis nowdoc:

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

Esto solo funciona php v5.3 + – Ryan

+2

PHP 5.2 alcanzó el final de su vida hace 2.5 años. Desde entonces, no hay más actualizaciones de seguridad en las versiones antiguas de PHP, por lo que cualquier persona que todavía ejecute PHP antes de 5.3 debe planificar una actualización lo antes posible. –

Cuestiones relacionadas