CodeBlanks Logo Icon CodeBlanks

require ile dosya dahil etme

PHP kursu · Başlangıç · Ders 107/116

require ile dosya dahil etmeyi ve include'dan farkını (fatal error) öğrenirsin.

require deyimi

require deyimi include gibi başka bir PHP dosyasını çağıran betiğe dahil eder; dahil edilen kod sanki çağıran dosyaya yazılmış gibi çalışır.

Tek fark hata davranışıdır: dosya bulunamazsa include yalnızca uyarı verirken, require bir ölümcül hata (fatal error) yayınlar ve betik durur. Bu yüzden require olmazsa olmaz dosyalar için kullanılır: veritabanı bağlantısı, yapılandırma ayarları, fonksiyon kütüphaneleri. Bu dosyalar olmadan betik anlamsız çalışacağı için require ile erken durmak daha güvenlidir.

Hangi deyimi ne zaman seçmelisin?

Hangi deyimi seçeceğin dosyanın önemine bağlıdır. Olmalıysa require, opsiyonelse include.

Veritabanı bağlantı dosyan (db.php), yapılandırma dosyan (config.php) veya fonksiyon kütüphanen olmazsa olmazdır; bunlar için require kullanırsın. Çünkü bunlar olmadan betik ya hatalı çalışır ya da güvenlik açığı yaratır. Yan panel, reklam alanı veya isteğe bağlı widget'lar için include uygundur; yoksa sayfa yine çalışır. Pratikte çoğu ekip varsayılan olarak require tercih eder ve yalnızca gerçekten opsiyonel parçalar için include'a geçer.

Uygulama header.php dosyasını oluştur ve require et

$file değişkenine sys_get_temp_dir() . "/header.php" yolunu ata. file_put_contents($file, "<?php echo 'Site Başlığı'; ?>") ile dosyayı yaz. Sonra require $file; ile dosyayı dahil et.

Örnek çözümü göster
Önce $file = sys_get_temp_dir() . "/header.php"; ata. Sonra file_put_contents($file, "<?php echo 'Site Başlığı'; ?>"); yaz. Son olarak require $file; ekle.
Örnek çözüm:
<?php
// header.php dosyasını oluştur ve require et
$file = sys_get_temp_dir() . "/header.php";
file_put_contents($file, "<?php echo 'Site Başlığı'; ?>");
require $file;

Kendini test et

  1. include ile require arasındaki temel fark nedir?

    • require dosya yoksa ölümcül hata verir
    • include dosya yoksa ölümcül hata verir
    • require yalnızca fonksiyon dosyalarında çalışır
    • include dosyayı iki kez dahil eder
    Cevabı göster

    require dosya yoksa ölümcül hata verir — Doğru. require dosya bulunamazsa fatal error verir ve betiği durdurur; include ise yalnızca uyarır.

  2. config.php dosyasını require et

    require '____.php';
    Cevabı göster
    require 'config.php';
  3. include ve require davranışlarını eşle

    include, dosya yok
    Uyarı, çalışır
    require, dosya yok
    Hata, durur
    Dosya varsa
    Her ikisi de çalıştırır
    Değişken kapsamı
    Paylaşılır

Başlangıç bölümündeki tüm dersler