2010-02-15 18 views
8

Podczas pracy z Magento dowiedziałem się, że nie muszę wstawiać tagu końcowego php (?>), Jeśli nie używam kodu HTML poniżej kodu PHP. Czy to jest bezpieczne i dlaczego po prostu nie wstawiamy tagu końcowego? To jest użyteczne??Pomijanie znacznika końcowego PHP

Odpowiedz

8

The official stance:

Uwaga: Znacznik zamykający bloku PHP na końcu pliku jest opcjonalny, aw niektórych przypadkach, pomijając to jest pomocne przy użyciu include() lub require(), więc niechciane białe spacje nie pojawią się na końcu plików, a później będziesz mógł dodać nagłówki do odpowiedzi. Jest także przydatny, jeśli używasz bufora wyjściowego i nie chcesz widzieć dodanych niechcianych białych znaków na końcu części generowanych przez dołączone pliki.

2

Tak, jest to przydatne, ponieważ nie można zapomnieć o nieparzystych znakach, takich jak \ n po zamknięciu znacznika (co może uniemożliwić wysyłanie plików cookie itp.). W Zend Framework nie używają również znaczników zamykających (jako standardowego kodu projektu).

6

Jest to użyteczne przy tworzeniu plików klas/pliki kodu, ponieważ jest to bardzo proste, aby dodać dodatkową przestrzeń lub nowej linii na końcu pliku, który może zepsuć buforowania wyjścia header() wyjście. Ponieważ PHP traktuje EOF jak plik zamykający ?> w pliku, nie ma niebezpieczeństwa polegając na EOF.