PHP este unul dintre cele mai frecvent utilizate limbaje de programare în dezvoltarea web. Una dintre cele mai importante caracteristici ale acestui limbaj este că oferă diferite metode de limitare. Să aruncăm o scurtă privire la etichetele de deschidere și de închidere PHP:

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

Pentru a utiliza PHP mai eficient, este necesar să înțelegem diferențele și importanța acestor etichete. În acest articol, vom învăța cum să folosim eficient etichetele PHP.

De ce nu ar trebui să folosim etichete PHP scurte?

Etichetele PHP scurte pot fi mai utile pentru ușurința și viteza de codare. Cu toate acestea, pe majoritatea găzduirii și serverelor, este dezactivat implicit în configurația PHP.ini. În configurația PHP.ini pentru ca aceste etichete scurte să funcționeze short_open_tag opțiunea trebuie activată. Deci singura metodă care va funcționa cu siguranță pe fiecare server PHP este . Dacă vă gândiți să implementați PHP-ul pe un server pe care nu îl controlați, puteți oricând <?php ?> Ar trebui să utilizați abordarea.

Etichetă scurtă PHP Echo și PHP.ini

<?php echo() ?>

în PHP <?= tag în configurația PHP short_open_tag Poate fi folosit indiferent dacă opțiunea este activată sau nu, astfel încât să puteți utiliza în siguranță această comandă rapidă în locul celei de mai sus.
Dacă doar scrieți cod pentru dvs. și puteți controla configurația PHP pe care o utilizați, este posibil să găsiți etichetele scurte mai utile. Dar amintiți-vă că <? ?> eticheta poate intra în conflict cu declarațiile XML. De asemenea <% %> Eticheta este de fapt în stil ASP.

Etichete de închidere PHP și probleme potențiale

Închiderea unui fișier PHP pur (de exemplu, un fișier care conține doar o definiție de clasă) ?> Când adăugați eticheta, aveți grijă să nu lăsați linii goale în urmă. În timp ce interpretul PHP poate „executa” în siguranță un singur caracter de întrerupere de linie după eticheta de închidere, alte întreruperi de linie pot fi trimise în browser. Dacă apoi scrieți anteturi HTTP, lucrurile pot deveni și mai confuze.

PHP PSR-2

Standardul de codare PSR-2 face parte din standardele de codare PHP PSR create pentru a determina cele mai bune practici în PHP. Standardele de codare PSR-2 se aplică numai fișierelor care conțin cod PHP. ?> recomandă să nu folosiți etichete de închidere. Motivul principal pentru această recomandare este acela de a preveni trimiterea către browser a caracterelor precum spațiile sau rupturile de rând lăsate accidental după eticheta de închidere. În PHP, ?> Orice caracter care urmează etichetei este considerat automat parte a rezultatului HTML. Acest lucru poate fi mai ales problematic atunci când se procesează anteturi HTTP.

Caracterele inutile de la sfârșitul unui fișier PHP pot împiedica procesarea corectă a antetelor HTTP. În protocolul HTTP, orice ieșire face imposibilă trimiterea antetelor, deoarece anteturile trebuie completate înainte ca conținutul să fie trimis. Acest lucru cauzează o problemă cunoscută sub numele de anteturi deja trimise, care poate afecta acțiuni precum pornirea unei sesiuni, setarea unui cookie sau redirecționarea unei pagini.

Prin urmare, PSR-2 recomandă să nu se folosească eticheta de închidere în fișierele care conțin doar cod PHP, pentru a evita astfel de erori comune și pentru a păstra curățenia codului. Această abordare elimină posibilele probleme care pot apărea din cauza spațiilor nedorite sau a caracterelor de sfârșit de linie de la sfârșitul codului și contribuie la o funcționare mai stabilă și fără erori a scripturilor PHP.

Etichete PHP și compatibilitate

Când scrieți aplicații web pentru versiuni mai vechi, se închide ?> html cu etichete <!doctype> Aveți grijă să nu lăsați o nouă linie între etichete. Versiunile mai vechi de IE pot genera erori diferite dacă întâlnesc spații, inclusiv linii noi, înainte de declarația doctype. Acesta nu este cazul versiunilor mai noi de IE și altor browsere mai avansate. (Adică pentru orice browser, altul decât IE.)