PHP jest jednym z najczęściej używanych języków programowania w tworzeniu stron internetowych. Jedną z najważniejszych cech tego języka jest to, że oferuje różne metody ograniczania. Przyjrzyjmy się pokrótce tagom otwierającym i zamykającym PHP:

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

Aby efektywniej korzystać z PHP, konieczne jest zrozumienie różnic i znaczenia tych tagów. W tym artykule dowiemy się, jak efektywnie wykorzystywać tagi PHP.

Dlaczego nie powinniśmy używać krótkich tagów PHP?

Krótkie tagi PHP mogą być bardziej przydatne ze względu na łatwość i szybkość kodowania. Jednak na większości hostingów i serwerów jest ona domyślnie wyłączona w konfiguracji PHP.ini. W konfiguracji PHP.ini, aby te krótkie tagi działały short_open_tag opcja musi być aktywowana. Zatem jedyną metodą, która na pewno będzie działać na każdym serwerze PHP, jest . Jeśli rozważasz wdrożenie PHP na serwerze, nad którym nie masz kontroli, zawsze możesz <?php ?> Powinieneś zastosować to podejście.

Krótki znacznik echa PHP i plik PHP.ini

<?php echo() ?>

w PHP <?= tag w konfiguracji PHP short_open_tag Można go używać niezależnie od tego, czy opcja jest włączona, czy nie, więc możesz bezpiecznie używać tego skrótu zamiast powyższego.
Jeśli po prostu piszesz kod dla siebie i potrafisz kontrolować konfigurację PHP, której używasz, krótkie tagi mogą okazać się bardziej przydatne. Ale pamiętaj o tym <? ?> tag może powodować konflikt z deklaracjami XML. Również <% %> Znacznik jest właściwie w stylu ASP.

Tagi zamykające PHP i potencjalne problemy

Zamknięcie czystego pliku PHP (na przykład pliku zawierającego tylko definicję klasy) ?> Dodając tag, uważaj, aby nie pozostawić żadnych pustych linii. Chociaż interpreter PHP może bezpiecznie „wykonać” pojedynczy znak podziału wiersza po znaczniku zamykającym, do przeglądarki mogą zostać przesłane inne znaki podziału wiersza. Jeśli następnie napiszesz nagłówki HTTP, sytuacja może stać się jeszcze bardziej zagmatwana.

PHP PSR-2

Standard kodowania PSR-2 jest częścią standardów kodowania PHP PSR stworzonych w celu określenia najlepszych praktyk w PHP. Standardy kodowania PSR-2 dotyczą tylko plików zawierających kod PHP. ?> zaleca, aby nie używać tagów zamykających. Głównym powodem tego zalecenia jest zapobieganie wysyłaniu do przeglądarki znaków, takich jak spacje lub podziały linii, pozostawionych przypadkowo po tagu zamykającym. w PHP, ?> Każdy znak następujący po tagu jest automatycznie uważany za część wyniku HTML. Może to być szczególnie problematyczne podczas przetwarzania nagłówków HTTP.

Niepotrzebne znaki na końcu pliku PHP mogą uniemożliwić prawidłowe przetwarzanie nagłówków HTTP. W protokole HTTP jakiekolwiek dane wyjściowe uniemożliwiają wysłanie nagłówków, ponieważ nagłówki muszą zostać uzupełnione przed wysłaniem treści. Powoduje to problem zwany już wysłanymi nagłówkami, który może mieć wpływ na takie działania, jak rozpoczęcie sesji, ustawienie pliku cookie lub przekierowanie strony.

Dlatego PSR-2 zaleca, aby nie używać znacznika zamykającego w plikach zawierających wyłącznie kod PHP, aby uniknąć typowych błędów i zachować czystość kodu. Takie podejście eliminuje możliwe problemy, które mogą wystąpić z powodu niepożądanych spacji lub znaków końca linii na końcu kodu i przyczynia się do bardziej stabilnego i wolnego od błędów działania skryptów PHP.

Tagi PHP i kompatybilność

Podczas pisania aplikacji internetowych dla starszych wersji zamykanie ?> html ze znacznikami <!doctype> Uważaj, aby nie pozostawić nowej linii pomiędzy tagami. Starsze wersje IE mogą generować różne błędy, jeśli napotkają spacje, w tym znaki nowej linii, przed deklaracją typu dokumentu. Inaczej jest w przypadku nowszych wersji IE i innych, bardziej zaawansowanych przeglądarek. (To znaczy dla każdej przeglądarki innej niż IE.)