Skip to content

HTML’den Kaçmak

PHP bir dosyayı çözümlerken, hangi bölümü yorumlayıp hangi bölümü yorumlamadan geçeceğine açılış ve kapanış etiketlerine bakarak karar verir. PHP’nin bu şekilde çalışıyor olması, PHP’nin çesitli türde birçok belgenin içine gömülebilmesini sağlar, çünkü PHP başlangıç ve bitiş etiketlerinin dışında kalan her şey PHP çözümleyicisi tarafından gözardı edilir. Çoğu zaman, bu örnekte olduğu gibi PHP’nin HTML içine gömülmüş olduğunu göreceksiniz.

<p>Bu bölüm gözardı edilecektir.</p>
<?php echo 'Bu bölüm PHP tarafından çözümlenecektir.'; ?>
<p>Bu bölüm de gözardı edilecektir.</p>

Daha gelişmiş yapılar da kullanmanız mümkündür:

Örnek 1 – Gelişmiş önceleme

<?php
if ($ifade) {
    ?>
    <strong>Bu önerme doğrudur.</strong>
    <?php
} else {
    ?>
    <strong>Bu önerme yanlıştır.</strong>
    <?php
}
?>

Bu beklendiği gibi çalışacaktır, çünkü PHP, ?> kapanış etiketi ile karşılaştığında, tekrar bir açılış etiketi ile karşılaşana kadar bulduğu herşeyi (kapanış etiketinden sonraki satırsonu karakteri hariç – bkz, deyim ayırma) çıktılayacaktır. Buradaki örnek oldukça basit, ancak büyük metin bloklarını görüntülemek istediğimizde PHP’yi çözümleme kipinden çıkartmak çoğu zaman tüm metni echo ya da print ile görüntülemekten daha verimlidir.
PHP ile kullanılabilecek dört farklı açılış ve kapanış etiketi çifti vardır. Bunlardan ikisi, <?php ?> ve <script language=”php”> </script> her zaman kullanılabilir durumdadır. Diğer ikisi, kısa etiketler ve ASP tarzı etiketler olup php.ini yapılandırma dosyası içersinden açılıp kapatılabilirler. Bazı kişiler kısa etiketleri ve ASP tarzı etiketleri daha kullanışlı bulmaktadır, ancak bu ikisi daha az taşınabilir olduklarından genellikle tavsiye edilmemektedir.

Bilginize:
Bir diğer önemli nokta, PHP’yi XML ya da XHTML içine gömmek istiyorsanız standartlarla uyumlu kalabilmek için <?php ?> etiketlerini kullanmanız gerektiğidir.

Örnek 2 – PHP Açılış ve Kapanış Etiketleri

1.  <?php echo 'XHTML ya da XML belgeleri sunacaksanız, böyle yapın'; ?>

2.  <script language="php">
        echo 'bazı düzenleyiciler (FrontPage gibi) işlem
             yönergelerini sevmezler';
    </script>

3.  <? echo 'Bu en basit, SGML işlem yönergesidir'; ?>
    <?= ifade ?> Bu "<? echo ifade ?>" için bir kısayoldur.

4.  <% echo 'İsterseniz ASP tarzı etiketler kullanabilirsiniz'; %>
    <%= $degisken; # Bu "<% echo . . ." %> için bir kısayoldur.

Bir ve iki numaralı örneklerde gözüken etiketler her zaman kullanılabilirler. Bu ikisinden birincisi en geniş kullanıma sahip olanı ve en çok tercih edilenidir.

Kısa etiketler (üçüncü gibi) yalnızca php.ini içersinde short_open_tag yapılandırma yönergesiyle etkinleştirilmişlerse ya da PHP, –enable-short-tags derleme seçeneği ile yapılandırılmışsa kullanılabilirler.

ASP tarzı etiketler (dördüncü örnek) php.ini dosyasında asp_tags yapılandırma yönergesiyle etkinleştirilmişlerse kullanılabilirler.

Bilginize:
Geliştirdiğiniz uygulamaları ya da kütüphaneleri başkalarına dağıtacaksanız ya da bu uygulamaları denetiminizde olmayan PHP sunucularına kuracaksanız kısa etiketleri kullanmaktan kaçınmalısınız, çünkü hedef sunucu kısa etiketleri desteklemiyor olabilir. Kodlarınızın taşınabilir ve yeniden dağıtılabilir olması için, alışkanlıkla kısa etiketleri kullanmadığınızdan emin olun.

Bilginize:
PHP 5.2 ve öncesinde, çözümleyici, bir dosya içindeki tek şey olarak <?php başlangıç etiketine izin vermezdi. PHP 5.3’ten itibaren izin verilmektedir.

TR Kodlama GitHub'da!

TR Kodlama'da yer alan makaleleri GitHub üzerinden düzenleyebileceğinizi biliyor muyudunuz? Harika değil mi? Bu makale ile ilgili düzenleme yapmak isterseniz aşağıdaki butona tıklayınız!

GitHub'da Görüntüle ve Düzenle!