Heredoc e Php

Salve a tutti i novellini del Php!
Se anche voi siete alle prime armi e avete sentito parlare di Heredoc e non avete la minima idea di cosa si stia parlando, ecco un piccolo chiarimento.

Sono disponibili tre sistemi per specificare un valore di stringa in php:

  1. virgolette singole
  2. virgolette doppie
  3. notazione heredoc

Nel primo sistema non sono supportati né l’escaping né l’estensione; quindi ‘A’ visualizza solo i due caratteri. Le stringhe con virgolette doppie sono simili a quelle con virgolette singole, a parte il fatto che l’interprete del linguaggio PHP le analizza per trovare e sostituire le sequenze di escape e le variabili.

Il terzo sistema per includere le stringhe in uno script PHP è un’innovazione riscontrabile in linguaggi come Perl. Esclude gli apici come delimitatori, e questo è sicuramente un vantaggio perchè ci permette di sfruttarli per ulteriori annidamenti. Le stringhe heredoc si comportano come le stringhe delimitate da vingolette doppie anche se non è necessario applicare l’escaping ad altrettanti caratteri: è sufficiente effettuare l’escaping dei caratteri $.

In questo caso una stringa inizia con <<< e un identificatore e continua finché PHP non incontra una riga di testo di input che consiste solo nello stesso identificatore allineato a sinistra e in un punto e virgola, senza spazi prima o dopo il (;). L’identificatore ha un unico vincolo: deve contenere solo lettere, numeri e underscore e il primo carattere deve essere una lettera o un underscore.

Nel caso di stringhe di un certo ‘peso‘, la notazione heredoc è sicuramente il migliore delimitatore di stringhe: è l’ideale per la stesura di grossi blocchi di codice html o javascript (da inviare poi con un unico comando ‘echo’) pur mantenendo un certo ordine di codifica.

<?php
echo <<<HTML
<p>
Lorem Ipsum is simply dummy text of the printing and
typesetting industry. Lorem Ipsum has been the industry’s
standard dummy text ever since the 1500s, when an unknown
printer took a galley of type and scrambled it to make a
type specimen book.
</p>
HTML;
?>

(fonte: http://www.mainickweb.com/)

Posted on 18 Maggio 2009 in General, Informatica

Share the Story

Leave a reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to Top