• Bannato User Attivo

    <<<eohead

    Salve.
    Su un libro che sto studiando ho trovato del codice HTML che viene racchiuso tra i istruzioni PHP

    echo <<<EOHEAD

    ....
    ....
    ...
    ...

    EOHEAD;

    Qualcuno mi sa spiegare sotto che nome va questo codice? Dove cercarne la documentazione?
    Se digito "<<<" su google la query di ricerca non viene interpretata.

    Qualcuno sa anche dirmi perchè provando a farlo su EASYPHP 2 non funziona?


  • User Attivo

    Ciao buccia81,
    prova cercando EOF (End Of File) + php, nella sua forma un po' più diffusa lo troviamo con tale acronimo piuttosto che con EOHEAD.

    echo <<<EOF

    EOF;

    Per il suo mancato funzionamento, prova a verificare di non aver lasciato spazi bianchi dopo EOHEAD.

    Tienici informati sui risultati della tua ricerca!
    :ciauz:


  • User

    Quel modo di assegnare una stringa si chiama sintassi heredoc

    Guarda l'help ufficiale qui


  • Bannato User Attivo

    Grazie a tutti.
    Ho risolto.

    Forse puo essere utile anche ad altri, dato che la soluzione al mio problema è alquanto bizzarra.

    <?

    echo <<<QUALSIASICOSA

    <html><body><div>Ciao a tutti!</div></body></html>

    QUALSIASICOSA;

    ?>

    Detto in poche parole il codice contenuto tra i "tag" QUALSIASICOSA viene stampato direttamente, senza essere processato dall'interprete PHP

    Una cosa FONDAMENTALE è che il tag di chiusura (ovvero QUALSIASICOSA;) deve essere allineato a sinistra, e non deve avere ne spazi ne tabulazioni prima!
    Alquanto bizzarro, ma anche nella veloce lettura della documentazione PHP mi sembra di aver capito così.

    Qualcuno puo smentirmi?


  • User

    E' così, nessuna smentita 🙂 anche se va detto che se metti una variabile PHP dentro la stringa questa viene comunque sostituita dal suo valore.

    Un'altra cosa che torna utile quando si fa echo di codice html è che si possono includere apici e doppi apici senza bisogno di metterci davanti \