Utilizzare al meglio i TAG PHP, solo quelli che servono

2009-01-29 | Tags: , , ,

Sembra una questione banale da trattare, ma mi sono reso conto che così non è.

Facciamo un passo indietro: quali sono i TAG PHP. In realtà sono tre, sebbene quelli utilizzati sono due (simili se non per una variante).

Il TAG classico, nonché più pratico da utilizzare è <? per l’apertura e ?> per la chiusura. Di questa c’è una variante, nel TAG di apertura, e cioè <?php. Esiste inoltre un altro TAG , che riporto per completezza, ma che non ho mai visto utilizzare in vita mia: <script language=”php”> per il TAG di apertura e </script> per quello di chiusura; un po’ come si fa con JavaScript.

La regola generale è che deve essere sempre presente il TAG di apertura e quello di chiusura.

Tuttavia c’è un ambito in cui è meglio non utilizzare il TAG di chiusura ed è questo che voglio illustrare in questo articolo.

In genere, quando si sviluppa, si tende a creare dei file che contengono codice che poi viene incluso ogni qual volta si sente l’esigenza di avere determinate funzionalità. In genere, file di questo tipo contengono solo funzioni o classi di funzioni, ciò implica che il file, in se, non debba contenere parti testuali che non siano codice.

Questo perché, se il file inviasse un qualsiasi carattere (anche uno spazio vuoto) al browser, questo implicherebbe anche l’invio di un header. Se, successivamente, si inviasse un ulteriore header, ci si potrebbe trovare a lottare con un errore non di facile soluzione: infatti due header uguali ma opposti non possono essere inviati ad un browser e lo stesso script PHP genererebbe un warning.

Il trabocchetto sta nel fatto che dopo il TAG di chiusura PHP, senza che ce ne siamo accorti, c’è un carattere, che come abbiamo già detto può essere un semplice spazio, così come nell’esempio:

Così come in questo esempio, lo spazio non lo vediamo ed individuarlo può essere davvero mission impossible.

Una soluzione può essere quella di non utilizzare – solo in questo tipo di file – il TAG ti chiusura. Infatti, sebbene la regola generale dica che ogni script debba essere chiuso dal TAG di chiusura, è anche vero che un file che venga incluso può non seguire questa regola.

Un file scritto in questo modo non incapperà più in questo tipo di problemi, perché eventuali spazi aggiunti alla fine dello script rientreranno sempre nell’ambito del codice PHP e quindi saranno processati come tali dall’interprete: quindi niente header HTML fuori controllo.

Che questa sia una buona pratica lo si deduce dal fatto che è diventato standard di fatto nello sviluppo dello Zend Framework e rientra nelle “buone abitudini” che ogni Zender deve avere.

  1. 2 trackbacks
    1. 2009-01-29 - diggita.it
    2. 2009-01-29 - webso.it