<?php ?>
<?= ?>
<? ?>
<% %>
short_open_tag seçeneğinin aktifleştirilmesi gerekir. Bu yüzden, her PHP sunucusunda kesinlikle çalışacak tek yöntem
. Eğer PHP’nizi kontrol edemediğiniz bir sunucuya dağıtmayı düşünüyorsanız, her zaman
yaklaşımını kullanmalısınız.
Kısa PHP Echo Etiketi ve PHP.ini
<?= etiketi PHP yapılandırmasında
short_open_tag seçeneği etkin olsa da olmasa da kullanılabilir, o yüzden üstteki yerine bu kısa yolu güvenle kullanabilirsiniz.
Eğer sadece kendiniz için kod yazıyor ve kullanacağınız PHP yapılandırmasını kontrol edebiliyorsanız, kısa etiketleri daha kullanışlı bulabilirsiniz. Ama unutmayın ki
<? ?> etiketi XML bildirimleriyle çakışabilir. Ayrıca
<% %> etiketi aslında ASP tarzıdır.
PHP Kapanış Etiketleri ve Potansiyel Sorunları
?> etiketini eklerken, ardında boş satırlar bırakmamaya dikkat edin. PHP yorumlayıcısı kapanış etiketinden sonra tek bir satır sonu karakterini güvenli bir şekilde “çalıştırabiliyor” olsa da, diğer satır sonları tarayıcıya çıkış yapabilir. Eğer daha sonra HTTP başlıkları yazıyorsanız, işler daha da karışabilir.
PHP PSR-2
PSR-2 kodlama standardı, PHP’de en iyi uygulamaları belirlemek için oluşturulmuş PHP PSR kodlama standartlarının bir parçasıdır. PSR-2 kodlama standartları, sadece PHP kodu içeren dosyalarda
?> kapanış etiketinin kullanılmamasını tavsiye eder. Bu önerinin temel sebebi, kapanış etiketinden sonra yanlışlıkla bırakılan boşluk veya satır sonları gibi karakterlerin tarayıcıya gönderilmesini engellemektir. PHP’de,
?> etiketinin ardından gelen herhangi bir karakter, otomatik olarak HTML çıktısının bir parçası olarak kabul edilir. Bu durum, özellikle HTTP başlıkları işlenirken problem yaratabilir.
Bir PHP dosyasının sonunda kalan gereksiz karakterler, HTTP başlıklarının doğru bir şekilde işlenmesini engelleyebilir. HTTP protokolünde, başlıkların içerik gönderilmeden önce tamamlanması gerektiğinden, herhangi bir çıktı başlıkların gönderilmesini imkansız hale getirir. Bu, başlık zaten gönderildi hatası (headers already sent) olarak bilinen ve oturum başlatma, çerez ayarlama veya sayfa yönlendirmesi gibi işlemleri etkileyebilen bir soruna yol açar.
Bu nedenle, PSR-2, bu tür yaygın hataları önlemek ve kodun temizliğini korumak amacıyla, sadece PHP kodu içeren dosyalarda kapanış etiketinin kullanılmamasını önerir. Bu yaklaşım, kodun sonunda istenmeyen boşluk veya satır sonu karakterleri nedeniyle oluşabilecek olası sorunları ortadan kaldırır ve PHP betiklerinin daha stabil ve hatasız çalışmasına katkı sağlar.
PHP Etiketleri ve Uyumluluk
?> etiketleri ile html
etiketi arasında yeni satır bırakmamaya özen gösterin. IE’nin eski sürümleri, doctype bildiriminden önce herhangi bir boşluk, yeni satırlar dahil, karşılaşırlarsa farklı hatalar çıkabilir. Bu, IE’nin yeni sürümleri ve diğer, daha gelişmiş tarayıcılarda geçerli değil. (Yani, IE dışındaki her tarayıcı için.)