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.
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 è 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.