Quando PHP inizia a esaminare un file, cerca i tag di apertura e di chiusura, che sono Lt?php e ?Gt, i quali indicano a PHP dove iniziare e terminare l'interpretazione del codice. Questa tecnica permette a PHP di essere incorporato in tutte le tipologie di documenti, poiché ogni cosa esterna ai tag di apertura e di chiusura viene ignorata dal parser PHP.

PHP include un tag echo abbreviato Lt?= che è una scorciatoia al più verboso Lt?php echo.

Tag di Apertura e Chiusura di PHP 1. <?php echo 'se vuoi servire codice PHP in documenti XHTML o XML, usa questi tag'; ?> 2. Puoi usare il tag echo abbreviato per <?= 'stampare questa stringa' ?>. È equivalente a <?php echo 'stampare questa stringa' ?>. 3. <? echo 'questo codice è all\'interno di tag abbreviati, ma funzionerà solo '. 'se short_open_tag è abilitato'; ?>

I tag brevi (esempio tre) sono disponibili per impostazione predefinita ma possono essere disabilitati tramite la direttiva short_open_tag del file di configurazione php.ini, o sono disabilitati per impostazione predefinita se PHP è compilato con la configurazione --disable-short-tags.

Poiché i tag brevi possono essere disabilitati, si consiglia di utilizzare solo i tag normali (Lt?php? ?Gt e Lt?= ?Gt) per massimizzare la compatibilità.

Se un file contiene solo codice PHP, è consigliato di omettere il tag di chiusura di PHP alla fine del file. Questo evita che vengano aggiunti spazi o ritorni a capo dopo il tag di chiusura di PHP, che può creare effetti indesiderati poiché PHP comincerà a processare l'output quando in realtà non c'è intenzione da parte dello sviluppatore di inviare dell'output in quella parte dello script. <?php echo "Hello world"; // ... altro codice echo "Last statement"; // lo script finisce qui senza tag di chiusura

Tutto ciò che esiste fuori dai tag di apertura e chiusura è ignorato dall'analizzatore PHP, il che permette di avere contenuto misto nei file PHP. Questo permette a PHP di essere incluso nei documenti HTML, per esempio per creare modelli. <p>Questo sarà ignorato dea PHP e verrà visualizzato nel browser.</p> <?php echo 'Questo invece sarà interpretato.'; ?> <p>Pure questo sarà ignorato dea PHP e verrà visualizzato nel browser.</p> Questo codice si comporta come desiderato, perché quando l'interprete PHP incontra il tag di chiusura ?Gt, comincia semplicemente a visualizzare tutto ciò che trova (tranne che per la nuova riga immediatamente successiva - vedere l'istruzione di separazione) finché non incontra un altro tag di apertura, a meno che non si trovi in una istruzione condizionale, nel qual caso l'interprete determinerà il risultato della condizione prima di prendere una decisione su cosa ignorare. Vedere l'esempio seguente.

Utilizzo di strutture con condizioni Escape avanzato con le condizioni <?php if ($expression == true): ?> Questo sarà viualizzato se l'espressione $expression è vera. <?php else: ?> Altrimenti verrà visualizzata questa linea. <?php endif; ?> In questo esempio PHP ignorerà i blocchi di codice in cui la condizione non è verificata, anche se sono fuori dai tag di apertura/chiusura; PHP li ignora a seconda della condizione dal momento che l'interprete PHP scavalca i blocchi contenuti in una condizione non verificata.

Nella visualizzazione di grossi blocchi di testo uscire dalla modalità di parsing del codice PHP è generalmente più efficiente che inviare il tutto tramite echo o print.

Se PHP è incorporato in XML o XHTML, devono essere utilizzati i normali tag PHP Lt?php ?Gt per rimanere conformi agli standard.

Come in C od in Perl, il PHP richiede che le istruzioni siano chiuse dal punto e virgola al termine di ogni istruzione. I tag di chiusura di un blocco di codice PHP implicano in automatico il punto e virgola; non occorre, pertanto, inserire il punto e virgola per chiudere l'ultima riga di un blocco PHP. Il tag di chiusura del blocco include il newline immediatamente seguente, se presente.

Esempio che mostra il tag di chiusura che racchiude una nuova riga <?php echo "Un po' di testo"; ?> Nessuna nuova riga <?= "Ma nuova riga ora" ?> Example outputs Un po' di testoNessuna nuova riga Ma nuova riga ora

Esempi di accesso ed uscita dal parser PHP: <?php echo 'Questo è un test'; ?> <?php echo 'Questo è un test' ?> <?php echo 'Qui è stato omesso il tag di chiusura'; Il tag di chiusura di un blocco PHP alla fine di un file è opzionale, ed in alcuni casi è utile ometterlo quando si utilizzano le funzioni include o require, in modo che spazi indesiderati non vengano generati alla fine dei file, e quindi sia ancora possibile aggiungere intestazioni alla risposta HTTP. È utile anche quando si usa l'output buffering, e non si vogliono avere spazi indesiderati alla fine delle parti generate dai file inclusi.

PHP supporta i commenti dei linguaggi 'C', 'C++' e stile shell (stile Perl) di Unix. Per esempio: <?php echo 'Questo è un test'; // Questo è un commento su una linea nella stile c++ /* Questo è un commento su più linee ancora un'altra linea di commento */ echo 'Questo è un altro test'; echo 'Un ultimo test'; # Questo è un commento stile shell Unix ?>

Lo stile di commento su "una linea", attualmente commenta solo fino alla fine della linea o del blocco corrente di codice PHP. Questo significa che l'eventuale codice HTML posto dopo // ... ?Gt o # ... ?Gt sarà stampato: ?Gt esce dalla modalità PHP e ritorna in modalità HTML, e quindi // non può influenzare quest'ultima.

<h1>Questo è un <?# echo 'semplice';?> esempio.</h1> <p>L'intestazione qui sopra dirà 'Questo è un esempio'.</p>

I commenti in stile C terminano alla prima occorrenza di */. Occorre fare attenzione nel non annidare i commenti di stile C, situazione che si presenta quando si commentano larghi blocchi di codice.

<?php /* echo 'Questo è un test'; /* Questo commento causerà dei problemi */ */ ?>