PHP è uno dei linguaggi di programmazione più utilizzati nello sviluppo web. Una delle caratteristiche più importanti di questo linguaggio è che offre diversi metodi di limitazione. Diamo una breve occhiata ai tag di apertura e chiusura di PHP:

  • <?php ?>
  • <?= ?>
  • <? ?>
  • <% %>

Per utilizzare PHP in modo più efficiente è necessario comprendere le differenze e l'importanza di questi tag. In questo articolo impareremo come utilizzare i tag PHP in modo efficace.

Perché non dovremmo usare tag PHP brevi?

I tag PHP brevi possono essere più utili per facilitare e velocizzare la codifica. Tuttavia, sulla maggior parte degli hosting e dei server è disabilitato per impostazione predefinita nella configurazione PHP.ini. Nella configurazione di PHP.ini affinché questi tag brevi funzionino short_open_tag l'opzione deve essere attivata. Quindi l'unico metodo che funzionerà sicuramente su ogni server PHP è . Se stai pensando di distribuire il tuo PHP su un server che non controlli, puoi sempre <?php ?> Dovresti usare l'approccio.

Breve PHP Echo Tag e PHP.ini

<?php echo() ?>

nel PHP <?= tag nella configurazione PHP short_open_tag Può essere utilizzato indipendentemente dal fatto che l'opzione sia abilitata o meno, quindi puoi tranquillamente utilizzare questa scorciatoia invece di quella sopra.
Se stai scrivendo codice solo per te stesso e puoi controllare la configurazione PHP che usi, potresti trovare più utili i tag brevi. Ma ricordatelo <? ?> il tag potrebbe entrare in conflitto con le dichiarazioni XML. Inoltre <% %> Il tag è in realtà in stile ASP.

Tag di chiusura PHP e potenziali problemi

Chiusura di un file PHP puro (ad esempio, un file contenente solo una definizione di classe) ?> Quando aggiungi il tag, fai attenzione a non lasciare righe vuote. Sebbene l'interprete PHP possa "eseguire" in modo sicuro un singolo carattere di interruzione di riga dopo il tag di chiusura, altre interruzioni di riga potrebbero essere inviate al browser. Se poi scrivi intestazioni HTTP, le cose possono diventare ancora più confuse.

PHPPSR-2

Lo standard di codifica PSR-2 fa parte degli standard di codifica PSR PHP creati per determinare le migliori pratiche in PHP. Gli standard di codifica PSR-2 si applicano solo ai file contenenti codice PHP. ?> consiglia di non utilizzare i tag di chiusura. Il motivo principale di questa raccomandazione è evitare che caratteri come spazi o interruzioni di riga lasciati accidentalmente dopo il tag di chiusura vengano inviati al browser. In PHP, ?> Qualsiasi carattere che segue il tag viene automaticamente considerato parte dell'output HTML. Ciò può essere particolarmente problematico durante l'elaborazione delle intestazioni HTTP.

I caratteri non necessari alla fine di un file PHP possono impedire la corretta elaborazione delle intestazioni HTTP. Nel protocollo HTTP, qualsiasi output rende impossibile l'invio di intestazioni perché le intestazioni devono essere completate prima dell'invio del contenuto. Ciò causa un problema noto come intestazioni già inviate, che può influenzare azioni come l'avvio di una sessione, l'impostazione di un cookie o il reindirizzamento di una pagina.

Pertanto, PSR-2 consiglia di non utilizzare il tag di chiusura nei file contenenti solo codice PHP, al fine di evitare errori così comuni e preservare la pulizia del codice. Questo approccio elimina i possibili problemi che possono verificarsi a causa di spazi indesiderati o caratteri di fine riga alla fine del codice e contribuisce a un funzionamento più stabile e privo di errori degli script PHP.

Tag PHP e compatibilità

Quando si scrivono applicazioni Web per versioni precedenti, chiusura ?> html con tag <!doctype> Fare attenzione a non lasciare una nuova riga tra i tag. Le versioni precedenti di IE potrebbero generare errori diversi se incontrano spazi, inclusi i ritorni a capo, prima della dichiarazione doctype. Questo non è il caso delle versioni più recenti di IE e di altri browser più avanzati. (Cioè, per ogni browser diverso da IE.)