Ne zaman bir php dosyayı kapatmak için değil mi?

3 Cevap

Ben kapanış php etiketi ?> ihmal edilmiş bir öğretici (Eğer ben eklemek saygın biri) geldim. Bu yazarı not etiketini kapatmak için aslında daha iyi olduğunu söyledi bir önceki öğretici hatırlattı, ama neden açıklama yapmadı. Ben bunu etiketini kapatmak için daha iyi bir uygulama olduğunu düşündüm, biraz şaşırdım. Neden bunu kapatmak için iyi değildir ve her zaman ya da sadece özel durumlarda olduğunu.

3 Cevap

Son kapanış etiketinden sonra herhangi bir boşluk komut dosyası sessizce başarısız olmasına neden olabilir veya istenmeyen çıktı tarayıcıya gönderilen neden olabilir çünkü. Böyle Zend Framework gibi bazı çerçeveler omitting the final closing etiketi olarak dahil olduğunuz bir recommended practice bu tür durumları önlemek için ZF kullanarak ve uygulama geliştiriciler için bir requirement their başına kadar kodlama standartları:

For files that contain only PHP code, the closing tag ("?>") is never permitted. It is not required by PHP, and omitting it´ prevents the accidental injection of trailing white space into the response.

Bu kapatma etiketleri atlayarak çok kök nedeni henüz ele olmamıştır hangi bir sorun için bir çözüm olduğunu söyledi. This blog post aynı iddia.

Peki, bu demek değil veya size emin olmak için kapalı kapanış etiketi bırakabilirsiniz "başlıklar zaten gönderildi" tetiklemek istemiyorum çünkü herhangi bir karakter Eğer config.php gibi bir içerme dosyası var ve siz çıktıya istemiyorsanız hiçbir boşluk tarayıcıya gönderilir. Sen pure PHP ve çıkışı yapılacak herhangi bir içeriği yok dosyalar, genellikle bir kapanış etiketi içermez göreceksiniz.

Alt satırda herhangi başlıkları belirlenmeden önce prematurly içeriğini enjekte etmek istemiyorum. Bu derinlemesine konuşulan here.

Diğer büyük cevaplara ek olarak, bu uygulama ağırlıklı olarak sadece PHP kodu içeren dosyalar kullanılır dikkat isterim.

Şablonlar / görünümleri düzenlerken ederken ben hep son etiketi kapatın, böylece ben bu noktanın altındaki diğer içerik eklemek zaman gerekmez.