Merhaba arkadaşlar phphocasi.com.tr için hazırladığımız php derslerimizde bu ders include ve include_once fonksiyonlarından bahsedeceğiz. include ve include_once fonksiyonları bir dosyayı sayfamıza dahil etmek istediğimizde kullanılır. Herhangi bir web sitesi üzerinden örnek verecek olursak sitenin en üst yani header kısmı tüm sayfalarda vardır. Bu header kısmını her sayfa için oluşturduğumuzda, header kısmında herhangi bir değişiklik yapmak istersek header kısmının olduğu tüm dosyalarda değişiklik yapmamız gerekir. Bunun önüne geçmek için bu header kısmını bir header.php dosyasında tutup kullanacağımız dosyalarda header.php dosyasını çağırırsak değişiklik yapmak istediğimizde sadece header.php dosyasında değişiklik yapmamız yeterli olacaktır.
 
include ve include_once Kullanımı
include ve include önce fonksiyonlarımızın ikisi de sayfaya bir dosya çağırmak için kullanılır. Aralarında küçük değişiklikler vardır. Değişiklikleri görmeden önce include ve include_once fonksiyonlarının kullanımlarına bakalım ve bir örnek yapalım.
- include “header.php”
- include_once “header.php”
- include (“header.php”)
- include_once (“header.php”)
Fonksiyonumuz parametre olarak sayfaya dahil edeceğimiz php dosyasının dosya yolunu alır.
Yukarıdaki 4 kullanımında birbirinden farkı yoktur.
include ve include_once fonksiyonlarına parametre olarak verdiğimiz dosya yolu eğer php tarafından bulunamazsa bize uyarı tipinde hata mesajı verir ama php kodlarımız hata mesajından sonra çalışmaya devam eder.
Not: Warnig tipi hata mesajları oluştuğunda hata mesajının hangi satırda olduğu php tarafından gösterilir ve sistem kaldığı yerden çalışmaya devam eder.
warning hatalarını kapatmak istersek sayfamızın başına error_reporting(0) yazmamız yeterli olur.
Örneğin: bir adet header.php dosyamız ve bir adette index.php dosyamız olsun index dosyamızda header.php yi çağıralım.
header.php dosyamız:
<?php echo "Burası Header Dosyasının İçeriğidir." ?>
index.php dosyamız:
<?php include "header.php" echo "Burasıda index.php dosyasının içeriğidir." ?>
sayfaları oluşturup index.php ye girdiğimizde ekranda header.php ve index.php nin içeriğini görmüş olacağız.
Not: include yerine include_once de kullanabilirdik.
include ve include_once Arasındaki Farklar
include ile include_once arasındaki temel fark:
include eklediğimiz sayfayı bir kere daha eklediğimizde sayfa yine eklenirken include_once ile eklediğimiz sayfa ikini eklediğimizde php yorumlayıcısı ikinici eklediğimizi görmezden gelecektir. Örneğin:
header.php dosyamız:
<?php echo "Burası Header Dosyasının İçeriğidir." ?>
index.php dosyamız:
<?php include_once "header.php" include_once "header.php" echo "Burasıda index.php dosyasının içeriğidir." ?>
örneğimizi çalıştırdığımızda header.php yi iki kez çağırmamıza rağmen header.php nin içeriği sadece bir kere görüntülenecektir.
Peki biz include_once fonksiyonunu nerelerde kullanırız ?
- Dahil edeceğimiz sayfamızda herhangi bir değişken ile işlem yapıyorsak değişkenin değeri değişmemesi için include_once kullanabiliriz.
- Dahil edeceğimiz sayfamızın iki kez ekranda görünüp görüntüyü bozmaması için kullanabiliriz.
Birinci maddeyi açıklığa kavuşturacak bir örnek yapalım.
Önce include fonksiyonumuz ile hatalı bir örnek yapalım.
header.php dosyamız:
<?php $sayi1 = 5 $sayi2 = 20 ?>
index.php dosyamız:
<?php include "header.php" $sayi1 = 25 $sayi2 = 3 include "header.php" echo "$sayi1*$sayi2=".($sayi1*$sayi2) ?>
header.php dosyamızda $sayi1 ve $sayi2 değişkenimiz var biz header.php yi çağırdıktan sonra index.php de değişkenlerimizin değerini değiştirdik ama header.php yi tekrar çağırdığımız için değişkenler üzerinde yaptığımız değişiklikler kayboldu. Bizim beklediğimiz değer 75 iken ekranda 100 değerini gördük. Bu yüzden hatalı örneğimizin düzgün çalşabilmesi için include_once fonksiyonu kullanmalıyız.
Hatalı örneğimizin düzeltilmiş hali:
Sadece index.php de aşağıdaki değişikliği yapmamız bizim kodumuzun doğru çalışması için yeterli olacaktır.
<?php include_once "header.php" $sayi1 = 25 $sayi2 = 3 include_once "header.php" echo "$sayi1*$sayi2=".($sayi1*$sayi2) ?>
include ve include_once fonksiyonlarının dışında aynı işlevi gören iki adet daha fonksiyonumuz bulunmaktadır. Bu fonksiyonlarıda bir sonraki dersimiz olan Php Dersleri – require ve require_once dersimizde anlatacağız. Bir Sonraki dersimizde görüşmek üzere hoşçakalın ?
Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.
Tüm php dersleri için tıklayınız..
8