2011-10-18 19 views
8

Chciałbym zapisać następujący kod wewnątrz zmiennej heredoc:Jak przechowywać kod PHP wewnątrz zmiennej heredoc?

<?php 

$var = 'test'; 
echo $var; 

?> 

tak:

$hered = <<<HERED 
<?php 

$var = 'test'; 
echo $var; 

?> 
HERED; 

Problemem jest to, że heredoc działa jak cudzysłów "" - Oznacza to, że każdy znak dolara ($) muszą być zastąpione przez \$ ...

Czy istnieje sposób użycia HEREDOC bez wykonywania takiej operacji?

+3

Pytanie powinno brzmieć: dlaczego chcesz to zrobić? To, co tu robisz, wygląda mi na kruchy. – bouke

+1

Jeśli robisz to na 'eval' później: nie rób tego! – middus

Odpowiedz

14

Tak, jest. Zapoznaj się z składnią nowdoc:

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

To działa tylko php v5.3 + – Ryan

+2

PHP 5.2 osiągnął koniec życia 2,5 roku temu. Od tamtej pory nie ma już żadnych aktualizacji zabezpieczeń dla starych wersji PHP, więc każdy, kto wciąż używa PHP przed 5.3, powinien jak najszybciej zaplanować aktualizację. –

Powiązane problemy