Yükleniyor...

Include & Require

PHP'de Include ve Require yapıları, kodun modülerliğini ve yeniden kullanılabilirliğini sağlamak için kritik öneme sahiptir. Include, bir dosyayı mevcut PHP dosyasına eklemeye yarar; eğer dosya bulunamazsa PHP bir uyarı verir ancak çalışmaya devam eder. Require ise kritik dosyalar için kullanılır ve dosya bulunamazsa script'in çalışmasını durdurur. Include_once ve Require_once varyantları, bir dosyanın yalnızca bir kez dahil edilmesini sağlar, böylece isim çakışmaları ve tekrar eden kod hatalarının önüne geçilir.
Bu gelişmiş eğitimde, kodunuzu verimli bir şekilde organize etmeyi, sorumlulukları dosyalar arasında ayırmayı, nesne yönelimli programlama (OOP) prensiplerini uygulamayı ve hataları güvenli bir şekilde yönetmeyi öğreneceksiniz. Ayrıca Include ve Require kullanırken performans optimizasyonu, hata yönetimi ve tasarım desenleri gibi ileri seviye teknikler üzerinde durulacaktır. Eğitim sonunda, hangi durumda Include veya Require kullanmanız gerektiğini ve PHP projelerinde dosya organizasyonunu nasıl optimize edeceğinizi kavrayabileceksiniz.

Temel Örnek

php
PHP Code
<?php
// Dosya: selam.php
function selamla($isim) {
return "Merhaba, " . htmlspecialchars($isim) . "!";
}

// Dosya: ana.php
include 'selam.php'; // Dosya dahil ediliyor
$kullanici = "Ahmet";
echo selamla($kullanici);

// Kritik bir yapılandırma dosyası
require 'config.php';
?>

Bu örnekte, selam.php dosyası selamla() fonksiyonunu tanımlar ve kullanıcı adını güvenli bir şekilde döndürür. ana.php dosyasında include kullanarak selam.php dosyasını dahil ediyoruz, böylece fonksiyon kullanılabilir hale geliyor. Eğer selam.php eksik olursa, PHP bir uyarı verir ancak çalışmaya devam eder. Öte yandan config.php dosyası require ile dahil edilmiştir; bu dosya kritik olduğundan bulunamazsa script çalışmayı durdurur. Bu örnek Include ve Require arasındaki temel farkı gösterir ve modüler kodlama, veri güvenliği ile güvenli akış yönetimi konularını pekiştirir.

Pratik Örnek

php
PHP Code
<?php
// Dosya: veritabani.php
class Veritabani {
private $baglanti;
public function __construct($host, $kullanici, $sifre, $db) {
$this->baglanti = new mysqli($host, $kullanici, $sifre, $db);
if ($this->baglanti->connect_error) {
die("Bağlantı hatası: " . $this->baglanti->connect_error);
}
}
public function sorgu($sql) {
return $this->baglanti->query($sql);
}
}

// Dosya: fonksiyonlar.php
function guvenli($girdi) {
return htmlspecialchars(trim($girdi));
}

// Dosya: ana.php
require 'veritabani.php';
require 'fonksiyonlar.php';

$db = new Veritabani('localhost', 'root', '', 'testdb');
$kullanici = guvenli($_POST['kullanici'] ?? '');
$sonuc = $db->sorgu("SELECT * FROM kullanicilar WHERE kullanici_adi = '$kullanici'");

if ($sonuc->num_rows > 0) {
echo "Kullanıcı bulundu.";
} else {
echo "Kullanıcı bulunamadı.";
}
?>

Bu pratik örnek, gerçek dünyadaki Include ve Require kullanımını gösterir. veritabani.php dosyası veritabanı bağlantısı ve sorguları için bir sınıf içerir. fonksiyonlar.php dosyası kullanıcı girişlerini sanitize eden guvenli() fonksiyonunu sağlar. Her iki dosya da require ile dahil edilmiştir; kritik olmaları nedeniyle eksik olmaları durumunda script durur. Bu yapı, sorumlulukların ayrılması, OOP uygulanması ve hata yönetimi açısından iyi bir örnek teşkil eder. Kod tekrarı önlenir, bellek kullanımı optimize edilir ve projeler daha sürdürülebilir hale gelir.

Include ve Require kullanımında en iyi uygulamalar, dosya varlığının kontrol edilmesi, kritik dosyalar için require kullanılması, opsiyonel dosyalar için include tercih edilmesi ve include_once/require_once ile tekrar eden yüklemelerin önlenmesidir. Sık yapılan hatalar arasında büyük dosyaların tekrar tekrar dahil edilmesi, dinamik ve güvenli olmayan yollarla dosya yüklemesi ve hataların doğru yönetilmemesi vardır. Performans için dosyaları gerektiğinde yüklemek, tek sorumluluk prensibini (SRP) takip etmek ve güvenlik için kullanıcı girişlerini doğrulamak önemlidir. file_exists() ve hata kayıt mekanizmaları, Include ve Require kullanımında debugging ve hata ayıklama için faydalıdır.

📊 Referans Tablosu

PHP Element/Concept Description Usage Example
include Bir dosyayı dahil eder; bulunamazsa uyarı verir include 'dosya.php';
require Kritik dosyayı dahil eder; bulunamazsa script durur require 'config.php';
include_once Dosyayı yalnızca bir kez dahil eder include_once 'fonksiyonlar.php';
require_once Kritik dosyayı yalnızca bir kez dahil eder require_once 'veritabani.php';
Hata Yönetimi Dosya dahil etme sırasında oluşabilecek hataların yönetimi if(!include('dosya.php')) { echo "Hata"; }

Include ve Require kullanımı, PHP'de modüler, güvenli ve sürdürülebilir bir kod yapısı oluşturmayı sağlar. Include ve Require seçimi, dosyanın kritik olup olmamasına göre yapılmalıdır. İleri seviye konular olarak Namespace kullanımı, Autoloading ve Tasarım Desenleri öğrenmek, projelerin organizasyonunu güçlendirir ve PHP uygulamalarının ölçeklenebilirliğini artırır.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

4
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek