» » » » Php __autoload fonksiyonu

Php __autoload fonksiyonu

özkan arıcı
özkan arıcı Yönetici 24-07-2016, 15:33
Php de __autoload() fonksiyonumuzu kullanarak oluşturduğumuz dizindeki siniflarimizi projemize otomatik olarak dahil edebiliriz.Böylelikle her defasında dosyayı projeyi include ettim mi etmedim mi derdinden de kurtulmuş oluruz

örneğin phpde class ( sınıf ) ağırlıklı çalışıyorsunuz ve sınıflarımız tek dosya içinde topluyoruz her defasından bu sınıfları include etmek yerine bu metodla sadce dosyamızı çağırıp diğer sınıflarında sayfamıza dahil olmasını sağlayabiliriz

Peki nasıl kullanıcaz ?

öncelikle a.php adında dosyamızı oluşturalım
PHP

<?php

class a{

    public function __construct(){


        echo"a sınıfımız çalıştı";
    }


}



?>

b.php oluşturalım

<?php

class b{

    public function __construct(){


        echo"b sınıfımız çalıştı";
    }


}



?>


daha sonra autoload.php dosyamızı oluşturalım

<?php



function __autoload($sinif){


    $dosyayol="autoload/{$sinif}.php";
    if(file_exists($dosyayol)){
       include_once($dosyayol);


    }
    else{
        exit($sinif.".php yüklenemedi");
    }


}




?>


burda önemli olan classlarımızı bulunduğu dosyaları bi klasörde toplamak.autoload.php de dosyamızı var olup ladığını kontrol ettiriyoruz dosyamız varsa projemize dahil ettiriyoruz dosyamız yok ise bulunamadı şeklinde hata verdiyoruz

şimdide index.php dosyamızı oluşturalım

<?php


include_once("autoload.php");
$a=new a();
$b=new b();
$c=new c();


?>

gördüğünüz gibi a ve b sınıflı dosyalarımız var olduğu için projeye dahil olup çalıştırılacak fakat c bulunamadığında dolayı hata verecektir
Bilgi
Yorum Ekleyebilmeniz için Sitemize Kayıt Olmanız Gerekmektedir.

Forum İstatistikleri

Üyelerimiz 61 onaylı konuda toplam 4 yorum yaptılar. Foruma en son 2017-02-07 12:25:25 tarihinde Mybb google seo eklentisi başlıklı konu eklendi.
Forumda toplam 61 konu bulunmaktadır.
Foruma eklenen 61 konudan 61 tanesi onaylandı.
Forumda 0 adet konu onay beklemektedir.
Forumdaki 61 adet onaylı konuya toplam 4 yorum yapıldı.