PHP ve Include Kullanımı | Bilişim Konuları

PHP ve Include Kullanımı

Include ve require fonksiyonları belirtilen dosyadan kod okumaya ve onu çalıştırmaya yarar. Özellikle kod tekrarını önlemek ve kısmen güvenlik amaçlı kullanılır.

PHP‘ nin yeni versiyonu olan PHP4‘ te require fonksiyonunun bütün işlevleri include fonksiyonuna yüklendiği için artık bu fonksiyonun kullanılmasının bir esprisi kalmamıştır. Include fonksiyonu aynı kod parçasını bir kaç kere kullanmamız gerektiği bir durumda kullanılması mantıklı bir fonksiyondur. Örnek vermek gerekirse, bir MySQL veritabanına bağlantı gerektiren bir program düşünelim. Bu program MySQL tablolarından veri okuyacak, yazacak ve değiştirecektir. Her bir bağlantı için temelde gerekli olan kod parçacığı aşağıdaki gibidir.

veritabani_baglanti.php dosyası
———————–
mysql_connect(“localhost”,”kullanici_adi”,”kullanici_sifresi”);
$query = “select * from kullanicilar”;
$result = mysql_db_query(“localhost”,$query);

Dikkat edildi ise veri tabanına bağlantı için her seferinde kullanıcı adı ve şifrenin ilk satırda verilmesi gereklidir. Bu, güvenlik açısından bir sorun teşkil ettiği gibi kodun tekrar kullanımı ve değiştirilmesi açısından hiç de etkin bir kullanım şekli değildir. Düşünelim ki bu program için kullanılan veritabanının kullanıcı adı ve şifresi değişti. Program içerisinde her bağlantı için yeni teker teker yeni şifre ve kullanıcı adını girmek hiç de pratik bir yaklaşım değildir. Aynı uygulamayı bir başka şekilde ele alalım. İki prensip arasındaki temel fark, veritabanı bağlantısı için gerekli kullanıcı adı ve şifre gibi bilgileri bir başka dosyada tutmak ve bu bilgilere ihtiyaç duyan bağlantıda ise ilgili değişkenleri kullanmak şeklindedir.

veritabani_bilgileri.php dosyasi
———————-
<?
$kullanici_adi = “dbuser”;
$kullanici_sifresi = “12345”;
$sunucu_adi = “localhost”;
?>
veritabani_baglanti.php dosyasi
———————-
include (“veritabani_bilgileri.php”);
mysql_connect(“$sunucu_adi”,”$kullanici_adi”,”$kullanici_sifresi”);
$query = “select * from kullanicilar”;
$result = mysql_db_query(“$sunucu_adi”,$query);

Koddan da rahatlıkla anlaşılabileceği gibi include ile koda dahil edilmiş olan betik sanki “include” yapısının kullanıldığı yere kopyalanmış ve yapıştırılmış gibi bir şekilde düşünülebilir.

Bir başka örnekle fonksiyonu pekiştirelim.
Kullanıcı adlarının ve kişisel bilgilerinin yer aldığı bir yapı düşünelim. Her kullanıcının kişisel bilgileri disk üzerinde kendi kullanıcı adı ile belirlenen bir dosya içerisinde tutuluyor. Yani, umut adlı kullanıcının bilgileri disk üzerinde “umut.txt” adlı bir metin dosyadan okunarak belirleniyor. Bu tür bir uygulama için yapılması en mantıklı yapı
şu şekildedir.

// $kullanici_adi HTML form’ dan girdi olarak alındı varsayıyoruz.
// başındaki ve sonundaki boşluk karakterlerini siliyoruz.
$kullanici_adi = trim($kullanici_adi);
if ($kullanici_adi == “”) {
echo “Hatalı girdi, tekrar deneyiniz”;
} else {
include (“$kullanici_adi” . “.txt”);
}

PHP’ nin mümkün oldukça modüler bir yapıda kullanılması gereklidir. Sınıf (class) kullanımları ve include fonksiyonları ile zenginleştirilmiş bir yazılım çok daha profesyonel sonuçlar ortaya çıkaracaktır.


<< Önceki Yazı

Yorum Yap