Php, la notazione Heredoc

Può capitare nello sviluppo di uno script in PHP di avere la necessità di scrivere delle stringhe particolarmente lunghe, o su più righe, magari interi blocchi. Le strade per farlo sono diverse e ognuna di questa ha dei vantaggi e degli svantaggi, ma oggi non voglio parlarti delle stringhe comprese tra virgolette o apici, ma voglio parlarti della sintassi Heredoc.

Una delle prassi più comuni che spesso gli sviluppatori seguono è quella di includere il corpo HTML fra delle if e delle parentesi graffe che aprono e chiudono il blocco in PHP.

A titolo d’esempio:

… // altro codice

if($test) { // apro la If e scrivo il paragrafo HTML solo se test è true poi chiudo il php
?>

<span class="test">Test</span>

<?php } // chiusura della If

Questa tecnica è abbastanza comune è usata, tuttavia abbiamo la possibilità di utilizzare le stringhe Heredoc. Tramite queste stringhe possiamo scrivere lunghi blocchi di testo su più righe trascurando l’escaping.

Per utilizzare questa sintassi è importante aprire il blocco con “<<<” seguito da una parola usata come delimitatore (ad esemio EOD, EOF o HTML..etc etc) e chiudere il blocco in una nuova riga con la stessa parola, ricordandoci che l’identificatore di chiusura non va mai indentato e deve essere il primo elemento della riga.

Vediamo un esempio:

… // codice php precedente
<<<HTML

<span class="test">Test</span>

HTML;

Niente male Heredoc vero?

Possiamo ottenere lo stesso risultato utilizzando delle variabili stringa delimitate da virgolette magari concatenando più stringhe in caso di blocchi di testo su più righe, ma in quel quel caso avremo dovuto anche occuparci dell’escaping interno al blocco, che nel caso di piccoli blocchi non rappresenta una grande perdita di tempo, ma che in un programma più corposo porta sicuramente a degli svantaggi in termini di sviluppo successivo.

Conclusione:

Siamo giunti alla fine, se vuoi approfondire la sintassi dell’Heredoc ti lascio il link diretto al manuale di PHP.

Informatico per scelta, tecnico per necessità, è un Programmatore, Web Developer e Blogger nato a Cagliari. Nel 2006 inizia la sua lunga storia d’amore (e di odio) con il mondo Open Source e GNU/Linux. Amante della programmazione spazia dall’HTML al CSS, passando tra gli altri da Javascript a Python. Scrive per Insidevcode con l'intenzione di far avvicinare i più curiosi al mondo della programmazione.


Cerca

Seguici

Live da Facebook
Live da Twitter
Seguici su Telegram
Canale InsiDevCode Telegram
Google Plus

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi