La scrittura di codice PHP in un file
Domanda
Mi chiedo se è possibile scrivere codice php in un file. Ad esempio:
fwrite($handle, "<?php $var = $var2 ?>");
Vorrei che produce la stringa esatta nel file e non il codice eval'ed. È possibile?
Attualmente sto ottenendo il seguente output (dove $ var = 1 e $ var2 = 2):
<?php 1 = 2 ?>
Mentre io voglio la stringa effettiva:
<?php $var = $var2 ?>
Grazie per l'aiuto
Soluzione
È possibile utilizzare le virgolette singole al posto delle virgolette doppie, che non si espandono i nomi delle variabili in linea:
fwrite($handle, '<?php $var = $var2 ?>');
Altri suggerimenti
Proprio sfuggire al simbolo $
<?php
fwrite($handle, "<?php \$var = \$var2 ?>");
?>
stringhe doppia citati vengono analizzati per le variabili, e il valore delle variabili si inserisce in quella posizione. Suppongo che questo sia perché PHP in origine è stato progettato come un sottile strato webserver-database di template.
Personalmente, non mi piace che e mai usare le virgolette a causa di questo. invece, io uso sempre le virgolette singole e concenation stringa:
<?php echo 'hello, ' . $name; ?>
fa la stessa cosa come:
<?php echo "hello, $name"; ?>
apici: la colorazione della sintassi funziona meglio, è (leggermente) più veloce e gli errori si trovano più facile
Questo non ha nulla a che fare con il file IO. Leggi sostituzione di variabili e fuggire nelle stringhe in PHP.