PHP

PHP Include Require

Geldik dosyalar ile çalışmaya. Bu konu bize çok büyük kolaylık sağlayacak. Neden mi? Satırlarca kodu tekrar tekrar yazmak ve bir hata yaptığımızda bu hatayı yüzlerce sayfada düzeltmeye çalışmak. Ne kadar zor olabileceğini tahmin edebiliyorsunuzdur herhalde 🙂 Mesela veritabanımıza bağlanırken kullanacağımız ayar dosyamız. Bu dosyanın  içinde genelde veritabanına bağlanmak için gerekli bilgiler (db host, kullanıcı adı, şifre vs) ve bir de bağlanma fonksiyonu bulunur. Büyük bir sistem kurduğumuzda yüzlerce php belgemiz olacak ve hepsinde veritabanı kullanacağız. Eğer kopyala yapıştır mantığını kullanırsak veritabanımızın şifresi değiştiğinde yüzlerce php belgesinde o şifreyle ilgili değişkeni bulup içeriğini değiştirmemiz gerekecek. Evet şimdi bunu önlemenin bir yolunu öğreneceğiz. Önceki konumuz: https://turkiyeelektronik.com/blog/2016/07/10/php-switch-case/

[sam id=”1″ codes=”true”]

PHP include Nedir?

İnclude fonksiyonu, bir dosyayı programımıza eklememize yarayan fonksiyonlardan birincisidir. Diğer dosya ekleme fonksiyonlarından farkı bir hata oluştuğunda (dosya bulunamadığında veya içindeki kodlar hatalı olduğunda) bu dosya olmadan yazılım çalışmaya devam eder. Bu dosyanın yerine ise İngilizce bir uyarı yazısı alırız. Örnek kod:

Bunu index.php olarak kayıt edelim.

<?php include('main.php'); ?>
<h1>Dünya</h1>

Bunu da main.php olarak aynı dizine kayıt edelim:

<?php
echo "Merhaba,";
?>

index.php dosyamızı çalıştırdığımızda çıktımızın aşağıdaki gibi olması gerekir:

Merhaba, Dünya

Fakat main.php dosyamızda bir php hatası olduğunda veya dosya bulunamazsa sayfamızın başında bir hata mesajı ile karşılaşırdık. Fakat Dünya yazısını hata mesajının altında görebiliriz.

PHP require Nedir?

Bu da aynı şekilde kodumuza dosya eklemeye yarar. Fakat require ile eklediğimiz dosya bulunamazsa veya çalışmazsa programımız durur. Şimdi yukarıdaki örneğimizi require ile yapalım:

Bunu index.php olarak kayıt edelim.

<?php require('main.php'); ?>
<h1>Dünya</h1>

Bunu da main.php olarak aynı dizine kayıt edelim:

<?php
echo "Merhaba,";
?>

Çıktımız aynı olacaktır:

Merhaba, Dünya

Yani require ile include’nin tek farkı, inculide’de hata olduğunda program çalışmaya devam eder. Fakat require’de hata aldığımızda program çalışmaya devam etmez. Sadece bir error alırız.

PHP require_once Nedir?

Require için geçerli kurallar require_once  için de geçerlidir tek fark şudur: Bu dosyayı daha önce yüklemiş miydin diye sorar yazılımımız. Evet cevabını alır ise sadece en baştaki dosyayı çalıştırır. Bunun kullanımı da aşağıdaki gibidir:

Bunu index.php olarak kayıt edelim.

<?php require_once('main.php'); ?>
<h1>Dünya</h1>

Bunu da main.php olarak aynı dizine kayıt edelim:

<?php
echo "Merhaba,";
?>

Çıktımız yine aynı olacaktır:

Merhaba, Dünya

Evet arkadaşlar bu yazım da bu kadar. Umarım faydalanabileceğiniz bir kaynak olmuştur. Bir sonraki yazımda (Fonksiyonlar) görüşmek üzere… 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.