Php 8 Include ve Require

Php 8 Include ve Require

PHP'de include ve require komutları, bir PHP dosyasına başka bir dosyayı eklemek için kullanılır. Bu komutlar, genellikle tekrar kullanılabilir kod bloklarını (örneğin, başlıklar, altbilgiler, menüler) farklı dosyalara bölerek, bu kodları çeşitli sayfalarda kullanmayı kolaylaştırır. PHP 8'de bu iki komut arasındaki farklar, hataların yönetimi ve çalışma sırasında kodun nasıl işleneceğiyle ilgilidir.

1. include

include, belirttiğiniz dosyanın içeriğini çağrıldığı yere ekler ve dosya bulunamazsa bir uyarı verir, ancak betik çalışmaya devam eder.

Kullanımı:

include 'dosya.php';
  • Eğer dosya mevcutsa, PHP bu dosyanın içeriğini sanki bulunduğu dosyanın bir parçasıymış gibi çalıştırır.
  • Eğer dosya bulunamazsa, PHP bir E_WARNING hatası üretir ancak betik çalışmaya devam eder.

Örnek:

// include.php dosyasını çağırıyoruz. include 'header.php'; echo "Bu sayfanın ana içeriği."; include 'footer.php'; ?>

Eğer header.php ve footer.php dosyaları mevcutsa, bu dosyalar include.php dosyasında çalıştırılır ve çıktı üretilir. Ancak dosya bulunmazsa sadece bir uyarı verilir ve geri kalan kod çalışmaya devam eder.

2. require

require da tıpkı include gibi başka bir dosyayı çağırır. Ancak require, çağırılan dosya bulunamadığında betiğin çalışmasını durdurur ve bir fatal error (ölümcül hata) üretir. Bu, dosyanın eksik olduğu durumlarda uygulamanın çalışmasını durdurmak için kullanışlıdır.

Kullanımı:

require 'dosya.php';
  • Eğer dosya mevcutsa, PHP bu dosyanın içeriğini çalıştırır.
  • Eğer dosya bulunamazsa, PHP bir E_ERROR hatası üretir ve betiğin geri kalanı çalıştırılmaz.

Örnek:

// require.php dosyasını çağırıyoruz. require 'header.php'; echo "Bu sayfanın ana içeriği."; require 'footer.php'; ?>

Eğer header.php dosyası bulunamazsa, betik bir ölümcül hata verecek ve echo komutu çalıştırılmayacaktır. Bu, kritik dosyaların eksik olması durumunda uygulamanın çalışmasını tamamen durdurmayı sağlar.

3. include ve require Arasındaki Farklar

include require
Dosya bulunamazsa uyarı verir (E_WARNING). Dosya bulunamazsa fatal error (E_ERROR) verir.
Uyarı verdikten sonra betik çalışmaya devam eder. Hata verdikten sonra betik çalışmayı durdurur.
Daha az kritik dosyalar için kullanılır. Kritik dosyalar için kullanılır (örn. yapılandırma dosyaları).

4. include_once ve require_once

PHP'de, aynı dosyanın birden fazla kez dahil edilmesini önlemek için include_once ve require_once komutları kullanılır. Bu komutlar, bir dosyanın yalnızca bir kez dahil edilmesini sağlar. Dosya daha önce dahil edilmişse, yeniden dahil edilmez.

  • include_once: Dosya daha önce dahil edilmemişse dahil eder, aksi takdirde işlem yapmaz. Eğer dosya bulunamazsa uyarı verir ama betik çalışmaya devam eder.

    include_once 'dosya.php';
  • require_once: Dosya daha önce dahil edilmemişse dahil eder, aksi takdirde işlem yapmaz. Eğer dosya bulunamazsa fatal error üretir ve betik çalışmayı durdurur.

    require_once 'dosya.php';

include_once ve require_once Ne Zaman Kullanılır?

Bu komutlar, büyük projelerde aynı dosyanın birden fazla kez dahil edilmesini önlemek için kullanılır. Örneğin, aynı yapılandırma veya işlev dosyasının yanlışlıkla birden fazla kez dahil edilmesi, çakışmalara ve hatalara neden olabilir. include_once ve require_once, bu tür durumları önlemeye yardımcı olur.

Örnek:

include_once 'config.php'; // Sadece bir kez dahil edilir. include_once 'config.php'; // Bu satırda dahil edilmez. require_once 'functions.php'; // Sadece bir kez dahil edilir. require_once 'functions.php'; // Bu satırda dahil edilmez. ?>

Bu örnekte, config.php ve functions.php dosyaları birden fazla kez çağrılmaya çalışılsa bile yalnızca bir kez dahil edilecektir.

5. Kritik Dosyalar İçin require, Diğer Dosyalar İçin include Tercih Edilir

  • require, bir dosyanın betiğin çalışması için hayati olduğunu düşündüğünüzde kullanılır. Örneğin, bir yapılandırma dosyası veya önemli bir işlev dosyası bulunamazsa, uygulamanın doğru çalışmasını engelleyecektir. Bu nedenle require kullanmak bu tür dosyalar için uygun olur.

  • include, dosya bulunamazsa betiğin çalışmaya devam etmesi gereken durumlarda kullanılır. Örneğin, isteğe bağlı bir şablon parçası veya CSS dosyası gibi dosyalar bulunmazsa, uygulama kritik bir hata vermemelidir.

6. Gerçek Dünya Kullanım Senaryoları

Yapılandırma Dosyası:

Kritik dosya olduğu için genellikle require ile eklenir. Eğer yapılandırma dosyası bulunamazsa, uygulamanın çalışmaya devam etmesi anlamsız olacaktır.

require 'config.php';

Şablon Parçaları (Partials):

Başlık veya alt bilgi gibi isteğe bağlı dosyalar için include kullanılır. Dosya bulunamazsa sadece bu kısım gösterilmez, ancak uygulama çalışmaya devam eder.

include 'header.php'; include 'footer.php';

Sonuç

  • include: Dosya dahil edilemezse bir uyarı verir ve betik çalışmaya devam eder.
  • require: Dosya dahil edilemezse betiği durdurur ve bir ölümcül hata verir.
  • include_once ve require_once: Dosyanın sadece bir kez dahil edilmesini sağlarlar.


Yorum Ekle

Üzerine gel