include() ve require()

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı zeron

  • *****
  • Join Date: Nis 2008
  • Yer: Kayseri
  • 3335
  • +426/-0
  • Cinsiyet: Bay
    • Uyanan Gençlik
include() ve require()
« : 14 Aralık 2010, 12:21:46 »
Statik HTML kodlarla bir sayfa tasarladığımızda, birden fazla alt sayfa oluşturma gereği duyabiliriz. 100 tane alt sayfa oluşturuduğumuzu düşünelim. Bu 100 alt sayfanın tümünde menümüzün gözükmesini isteyeceğiz. Fakat sonradan, menüye bir link eklemek istediğimizde veya varolan bir linki değiştirmek istediğimizde 100 sayfayı tek tek editleyerek menüleri değiştirmemiz gerekecek (tabii iframe olarak çekmemişsek)

İşte tam bu uzun düzenleme işlemlerinden kurtulmak için PHP’nin bize önerdiği iki adet fonksiyon bulunmaktadır.
Bunlar; include(); ve require();’dır.

Bu fonksiyonlar daha önce yazmış olduğumuz bir html veya php kodu, tekrar kullanmaya imkan sağlar. En basit örnekle bir menü oluşturduğumuz zaman, menüyü menu.php şeklinde kaydedip, o menüyü tüm alt sayfalarda include ederek kullanabilir ve ilerde bir düzenlemeye ihtiyaç duyduğumuzda rahatlıkla düzenleme yapabiliriz.

Şöyle bir örnekle konuyu daha iyi kavrayabiliriz.

1   < ?PHP
2   echo 'Sayfa üst bilgileri
';
3   ?>
4   You are not allowed to view links. Register or Login


Üstteki kodu menu.php olarak kaydedelim.

1   < ?PHP
2   include('menu.php');
3   echo 'Sitemize hoşgeldiniz.';
4   ?>

Bu yazdığımız kodu da anasayfa.php olarak kaydedelim. Şimdi tarayıcıda anasayfa.php dosyasını çalıştırdığınızda, üst tarafta anasayfa linkini ve alt tarafta da anasayfa metnini görebilirsiniz. En basit mantıkla bu şekilde tek bir menü ile dilediğiniz kadar alt sayfa oluşturabilirsiniz. Bu mantığı daha da ilerleterek, sitenizin üst, sağ, sol ve alt kısımlarını tek bir dosya halinde include ile çağırırsanız, alt sayfalarda yapmanız gereken tek şey orta kısmı doldurmak olacaktır.

Örneklerimizde include() fonksiyonunu kullandık. Bunun yerine require() fonksiyonunu da kullanabilirdik. İki fonksiyon arasında hiçbir fark yoktur. Aralarındaki tek fark, bir hata oluşup çalışmadıkları zaman, include() fonksiyonu sadece uyarı (warning) verirken, require() fonksiyonu çalışmadığı vakit ciddi hata (Fatal Error) uyarısı verir.

include() ve require()’un, include_once() ve require_once() şeklinde iki adet türevi bulunmaktadır. Bunlar ise fonksiyon isminden de tahmin edebileceğiniz gibi, include edilen dosyanın sadece bir kez include edilmesini sağlar. Örneğin, fonksiyon kütüphaneleri oluşturduğunuzda, include_once() veya require_once() ile tek bir kere fonksiyonları tanımlamış, tekrar tekrar tanımlama işlemi yaparak hata verme olasılığını engellemiş olursunuz.