Niektórzy przysięgają, że zamykają swoje pliki PHP ?>
, inni twierdzą, że lepiej jest je wyłączyć.
Wiem, że nie jest to konieczne, po prostu zastanawiam się, jakie są zalety i wady robienia tego i jaka jest najlepsza praktyka.
php
code-formatting
Steve Robbins
źródło
źródło
If a file is pure PHP code, it is preferable to omit the PHP closing tag at the end of the file. This prevents accidental whitespace or new lines being added after the PHP closing tag, which may cause unwanted effects because PHP will start output buffering when there is no intention from the programmer to send any output at that point in the script.
Odpowiedzi:
Nie jest to tak bardzo kwestia wydajności - analizowanie końcowego
?>
jest trywialne i nie zrobi żadnej zauważalnej różnicy, chyba że podasz milion plików na sekundę.IIRC, php.net NIE zaleca dodawania
?>
, a powody są następujące:?>
, która zostanie wyprowadzona do klienta, co z kolei może prowadzić do niejasnych błędów „już wysłanych nagłówków” (dzieje się tak, gdy dołączony plik zawiera spacje, a Ty próbujesz ustawić nagłówek po w tym ten plik)źródło
Nie, są w błędzie.
?>
jest opcjonalny w PHP na końcu pliku. I znajdziesz dobry powód. Najważniejsze jest to, że puste miejsce na końcu pliku nie uniemożliwi wysyłania nagłówków. Jest to trudny błąd do wykrycia, ponieważ można go znaleźć w dowolnym pliku w dowolnym miejscu.Zwykłym sposobem jest umieszczenie zamykającego znacznika, gdy PHP jest mieszane z HTML, a nie umieszczanie go dla czystych plików PHP. To nawet standard kodowania z frameworka ZEND i wielu innych.
Zoptymalizowany oznacza, że kod działa szybciej. Łatwo jest udowodnić, że się mylą. Profiluj kod i dowiedz się, że to bzdury.
źródło
Myślę, że zaleca się początkującym, aby nie dodawali go, aby nie spowodowali przypadkowego wysłania dodatkowych znaków nowej linii. Ponieważ nie jest tak ważne, jak to wspomniałeś, myślę, że ogólne rozumowanie jest takie, że lepiej zostaw to, aby uniknąć błędów.
Nie sądzę, żeby była z tym jakaś „optymalizacja”.
Chciałbym wskazać tutaj: /programming/4410704/php-closing-tag i tutaj: /programming/3219383/hy-do-some-scripts-omit-the -closing-php-tag
źródło
?>
w plikach zawierających czysty PHP.