TAG PHP, utilizziamo solo quelli che servono

Sembra una questione banale da trattare, ma mi sono reso conto che così non è. Ma facciamo un passo indietro: quali sono i TAG PHP?

In realtà sono tre, sebbene quelli utilizzati sono due (simili se non per una variante).

I TAG classici per l’apertura e chiusura di uno script PHP sono:

Di questa c’è una variante e cioè:

Esiste inoltre un altro TAG, che riporto per completezza, ma che non ho mai visto utilizzare:

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. 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 headers fuori controllo.

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

Add a Comment