Mi capita di ricevere email, messaggi o di dare assistenza tramite forum a degli utenti che chiedono quale sia il vantaggio nell’uso della sintassi Heredoc; diciamo subito che si tratta di un sistema di notazione non indispensabile, ma che in alcuni casi può risultare particolarmente utile.
Come è noto la sintassi Heredoc permette di definire delle stringhe il cui comportamento è il medesimo di quello delle stringhe delimitate tramite doppi apici; nel caso di Heredoc non è però necessaria alcuna operazione di escaping.
In Heredoc una stringa viene isolata nella sua parte iniziale grazie al simbolo “<<<” seguito da un delimitatore dal formato non vincolante (può essere per esempio “EOF” o anche “HTML”) e nella sua parte finale nuovamente dal delimitatore definito all’inizio seguito da “;”.
Vediamo un esempio:
$var = "piacere"; echo <<<EOF Non sapete usare la sintassi Heredoc? Ma fatemi il santissimo $var. Ciao! EOF;
Il fatto di non dover applicare alcun escaping rende questa notazione estremamente comoda nel caso un in cui si desideri definire stringhe di lunghe dimensioni, come per esempio funzioni JavaScript o lunghe stringhe di markup HTML.







