Corsi on-line

Perché usare la sintassi Heredoc

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.

Post correlati
  • posso aggiungere?
    secondo me su streinghe lunge e/o ripetute è un utile sistema (e pulito), es.
    $strin[‘prima’]=<<<prima
    eccetera eccetera…….
    prima;
    $strin['seconda']=<<<seconda
    eccetera eccetera…….
    seconda;
    ecc……….
    a mio parere è un buon aiuto anche per documentare lo script

  • La documentazione non ha nessuna necessità di heredoc in quanto ha già la sua notazone lunga tramite /* e */ che suddividono il testo di documentazione su più righe.

  • borgoitalia

    ciao
    io non intendevo i commenti, ma il fatto che scorrendo lo script trovare un eredoc del tipo

    $stringa[‘pallo]=<<<sonoAlCentesimoEredoc

    sonoAlCentesimoEredoc;

    facilta la lettura

I più letti del mese
Tematiche