Manuale PHP
Indietro |  | Avanti

# Capitolo 10. Sintassi Fondamentale

# Modi per uscire dalla modalità HTML

Quando il PHP inizia a esaminare un file, cerca i tag di apertura e di chiusura, che indicano dove iniziare e terminare l'interpretazione del codice. Questa tecnica permette al PHP di essere incorporato in tutte le tipologie di documenti, poichè ogni cosa esterna ai tag di apertura e di chiusura viene ignoarat dal parser PHP. Il più delle volte si vedrà codice PHP racchiuso in documenti HTML, come nel seguente esempio.

`<p>This is going to be ignored.</p> <?php echo 'While this is going to be parsed.'; ?> <p>This will also be ignored.</p>`

Si possono usare anche strutture più avanzate:

Esempio 10-1. Escape avanzato

`<?php if ($expression) { ?> <strong>This is true.</strong> <?php } else { ?> <strong>This is false.</strong> <?php } ?>`

Questo codice funziona come atteso, perchè quando il PHP trova il tag di chiusura ?>, inizia a visualizzare tutto ciò che incontra sino a quando non si raggiunge un'altro tag di apertura. L'esempio è semplificato, ovviamente, ma nella visualizzazzione di grossi blocchi di testo uscire dalla modalità di parsing del codice PHP è generalmente più efficiente che inviare il tutto tramite echo() o print().

Esistono 4 set di tag che possono essere utilizzati per delimitare blocchi di codice PHP. Soltanto due di questi (<?php. . .?> e <script language="php">. . .</script>) sono sempre disponibili. Gli altri due sono i tag brevi e i tag stile ASP e possono essere attivati o disattivati tramite il file di configurazione `php.ini`. Sebbene i tag brevi o quelli in stile ASP possano essere pratici, questi sono meno portabili e, in generale, sconsigliati.

> Nota: Occorre notare che se si intende inserire codice PHP all'interno di testi XMl o XHTML, occorre utilizzare <?php ?> per essere conformi allo standard XML.

Esempio 10-2. Tag di apertura e di chiusura

`1. <?php echo 'se si vogliono produrre documenti XHTML o XML, si utilizzi questo modo'; ?>
2. <script language="php">
echo 'alcuni editor (tipo FrontPage) non
amano le istruzioni di elaborazione';
</script>
3. <? echo 'questo è il più semplice, ovvero come istruzione SGML'; ?>
<?= espressione ?> Questa è un'abbreviazione per "<? echo espressione ?>"
4. <% echo 'Opzionalmente puoi utilizzare tag nello stile ASP'; %>
<%= $variable; # Questo &egrave; una abbreviazione per "<% echo ..." %>`

Sebbene i tag utilizzati negli esempi 1 e 2 siano sempre disponibili, l'esempio uno rappresenta la situazione più comunemente utilizzata, e la più raccomandata dei due.

I tag brevi (esempio tre) sono disponibili soltanto se sono stati abilitati tramite il parametro short_open_tag del `php.ini`, oppure se il PHP è stato configurato con --enable-short-tags.

> Nota: Se si utilizza il PHP 3 si può anche avere disponibili i tag brevi tramite la funzione short_tags(). Questo vale solo per il PHP 3!

I tag in stile ASP (esempio quattro) sono disponibili soltanto quando sono abilitati tramite il parametro asp_tags del `php.ini`

> Nota: Il supporto per i tag nello stile ASP è stato aggiunto nella versione 3.0.4.

> Nota: L'utilizzo dei tag brevi dovrebbe essere evitato nello sviluppo di applicazioni o librerie destinate alla distribuzione o destinati a server di produzione PHP di cui non si ha il controllo poichè questi tag potrebbero non essere attivi sul server di destinazione. Per avere maggiore portabilità, codice redistribuibile, occorre essere certi di non utilizzare i tag brevi.

Indietro | Partenza | Avanti
Struttura del Linguaggio | Risali | Separazione delle istruzioni