PHP : Include ve Require ile Dışarıdan Dosya Dahil Etme » Cem Demir
WordPress gibi hazır bir içerik yönetim sistemini ele alalım. WordPress kullanan bir sistemin ana sayfası genellikle şu kısımlardan olmaktadır;
Yukarıdaki bölümler index.php dosyasında bulunacaktır. Hepsinin kodu index.php dosyasında bulunacağı için o dosya iyice büyüyecek, şişecek ve okunabilirliği azalacaktır.
Fakat index.php dosyasını şu şekilde parçalara ayırabiliriz;
Bu parçaları da inde.php dosyasına dahil edebiliriz. Tam bu noktada php nin bize sunmuş olduğu dışarıdan dosya dahil etme fonksiyonları devreye girer.
include_once fonksiyonu ise aynı isimli dosyadan 2 kere dahil etmeyi önler. Aşğıdaki kod ust.php dosyasını index.php dosyasına sadece 1 kere yükleyecektir.
require fonksiyonu belirtilen dosyayı programa ekler. Eğer dosyayı bulamazsa ölümcül hata verir ve programı durdurur. Kullanırken dikkat ediniz.
require_once fonksiyonu ise yine include_once fonksiyonu gibi aynı isimli dosyadan 2 kere dahil etmeyi önler.
Bu fonksiyonlarla ilgili eksiklerim, bilmediklerim illa ki olmuşur. Düzeltmeler için yorum bölümünü kullanabilirsiniz.
Etiketler : Dışarıdan dosya dahil etme, include fonksiyonu, include_once, PHP, Require fonksiyonu, require_once
kerem bekman , 23 Nisan 2011 - 21:03:02
Include ve require arasında ciddi fark vardır.. Eğer büyük bir framework geliştiriyorsanız, tutarlılık önemlidir. Bunu korumak için yapacağınız frameworkun önce include ve require haritaları çıkartılır..
Örneğin wordpress framework unun include ve require haritası.. http://phpimpact.files.wordpress.com/2008/08/word…
CodeIgniter kullananlar için include ve require haritası.. Zamanında çok aramıştım :)
Cem Demir , 24 Nisan 2011 - 06:58:43
Teşekkürler Kerem, bir de farklarını yazsaydın. :)
borantula , 29 Haziran 2011 - 07:57:40
require ile include arasında bildiğim kadarıyla fark require fonksiyonunun çekilen dosyanın olmaması halinde hata vermesi ve scripti durdurması, include fonksiyonunun ise eğer dosya yoksa bu duruma aldırmadan yoluna devam etmesidir.
Örnek olarak wordpress'de functions.php içerisine başka bir fonksiyon dosyası yerleştirirken require('myfunctions.php) demek gerekir ancak diyelim ki bir yere bir header footer falan koyacağız, bu aşamada include() kullanmak daha doğrudur.
Kerem'in gönderdiği haritalardan da bakarak güzel örnekler görebilirsiniz bu konuda(haritalar için teşekkürler, kullandığım iki temel sisteme dair bu görseller hoşuma gitti)