2011-10-18 9 views
8

Vorrei memorizzare il seguente codice all'interno di una variabile heredoc:Come memorizzare codice PHP all'interno della variabile heredoc?

<?php 

$var = 'test'; 
echo $var; 

?> 

così:

$hered = <<<HERED 
<?php 

$var = 'test'; 
echo $var; 

?> 
HERED; 

Il problema è che heredoc funziona come virgolette doppie "" - Ciò significa che ogni simbolo del dollaro ($) devono essere sostituiti con \$ ...

C'è un modo per utilizzare HEREDOC senza eseguire tale operazione?

+3

La domanda deve essere: perché vuoi farlo? Quello che stai facendo qui sembra odore di codice per me. – bouke

+1

Se stai facendo questo a 'eval' in seguito: per favore non farlo! – middus

risposta

14

Sì, c'è. Controlla la sintassi nowdoc:

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

Funziona solo con php v5.3 + – Ryan

+2

PHP 5.2 ha raggiunto la fine della vita 2,5 anni fa. Da allora non ci sono più aggiornamenti di sicurezza per le vecchie versioni di PHP, quindi chiunque esegua ancora PHP prima di 5.3 dovrebbe pianificare un aggiornamento il prima possibile. –

Problemi correlati