Basit Class Yapılarında Kullanılan Kelimeler

New, ::, __construct, __autoload kullanımları

Class YapılarıBasit bir class yapısı
 

<?php

class Klasımız
{
    var $KlasDegiskeni='naber';
       
    function KlasFonksiyonu()
    {
        if (isset($this)) {
//$this kelmesi (Klasımız) demektir.
            echo '$this kelmesi ('.get_class($this).') demektir.';
        } else {
            echo "$this kelimesi bilinemiyor.n";
        }              
   }
}

$Tureyen=new Klasımız();

echo $Tureyen->KlasDegiskeni; //naber yazar

echo $Tureyen->KlasFonksiyonu(); //$this kelmesi (Klasımız) demektir.

?>
 

 
:: operatörü Sınıfın statik ya da sabit olarak tanımlanan üyelerine erişim sağlar, Herhangi bir obje oluşturulmadan sınıfın elemanına erişim sağlar. PHPde bir classin methoduna static olarak erisirken kullanılan karakterlerdir.
   

<?php

class Klasımız
{
    var $KlasDegiskeni='naber';
       
    function KlasFonksiyonu()
    {
        if (isset($this)) {
            echo '$this kelmesi ('.get_class($this).') demektir.';
        } else {
            echo "$this kelimesi bilinemiyor.n";
        }              
   }
}

$Tureyen=new Klasımız();

echo $Tureyen->KlasDegiskeni; //naber yazar

echo $Tureyen->KlasFonksiyonu(); //$this kelmesi (Klasımız) demektir.

Klasımız::KlasFonksiyonu(); //$this kelimesi bilinemiyor.

?>
 


  :: operatörü  klası oluşturmadan klas içerisindeki değerlere erişmek için kullanılır. Bu klas içerisindeki bir değere veya fonksiyona erişmek için klas tanımlamamızı ortadan kaldırır. Bu sayede bellekte sadece bir değişkene erişmek için kullanılan bir class yer işgal etmez.

<?php

    class BenimKlas {
        const SABIT_DEGER = 'A constant value';
    }

    echo BenimKlas::SABIT_DEGER;
?>


<?php
class BaskaKlas extends BenimKlas
{
    public static $sabit_deger = 'static var';

    public static function ciftKolon() {
        echo parent::SABIT_DEGER . "n";
        echo self::$sabit_deger . "n";
    }
}

BaskaKlas::ciftKolon();
?>
 

 
  parent, self ve Scope Resolution Oparatörünün kullanımına örnek
 

 

 

<?php

class BenimKlas
{
    public static $SabitBirDeger = 'Sabit Değerim';
}

class BaskaBirKlas extends BenimKlas
{
    public $SabitDeger = 'Sabit Değer';

        public static $SabitStatikDeger = 'Sabit Değer';
       
    public static function CiftKolon() {
        echo parent::$SabitBirDeger . "<br />"; //sadece static değerlere erişebiliyoruz.
        echo self::$SabitStatikDeger . "<br />"; // static değerlere erişmek için $ kullanılır
    }
}

BaskaBirKlas::CiftKolon();

?>
 

 
 

<?php

class OzelYazdir {
       
        static function MerhabaDunya()
        {
                print "Merhaba, Dünya";
                self::YeniSatirYaz();
                print "Naber";
        }
       
        static function YeniSatirYaz()
        {
        print "<br/>";
        }
}

OzelYazdir::MerhabaDunya();

/*
$OzelYazdir=new OzelYazdir();
$OzelYazdir->MerhabaDunya();
*/

?>

 
class yapılarında __construct veya class la aynı isimde fonksiyon kullanımı sonucu class tanımlandığında otomatik ve ilk çalışan fonksiyon belrilenmiş olur.
   

<?php

class BasitKlas
{
       
    public $Degisken = 'Merhaba Dünya';

    public function EkranaYaz(){
        echo "$this->Degisken";
    }
       
        function __construct(){ //class tanımlandığında otomatik ve ilk çalışan fonksiyon
                echo 'Yaşasın Oluşturuldum';
        }
       
        function BasitKlas(){ //class tanımlandığında otomatik ve ilk çalışan fonksiyon _construct değil ama classla aynı isimde
                echo 'Yaşasın Oluşturuldum';
        }
}

$Turemis=new BasitKlas();

echo $Turemis->EkranaYaz();
?>
 

 
  class yapılarında __destruct kullanımı sonucu class yok edildiğinde çalışan fonksiyon belirlenmiş olur.
 

<?php
class BenimKlas
{
    var $Degisken;
       
        //function BenimKlas(){ Bu yazım __construct ile aynı
        function __construct($GelenSayi){ //class tanımlandığında otomatik ve ilk çalışan fonksiyon
                $this->Degisken=$GelenSayi;
                $this->EkranaYaz();
        }
       
    public function EkranaYaz(){
        echo "$this->Degisken";
    }
       
    function __destruct(){ //class yok edildiğinde otomatik çalışan fonksiyon
        echo "Benim Klas Silindi";
    }
}

$Turemis=new BenimKlas(5); //Oluştulur oluşturulmaz Ekrana 5 yazar.

//$Turemis=NULL; //Turemis Klasını yok edince destruct çalışıyor
unset($Turemis); //Turemis Klasını yok edince destruct çalışıyor
?>
 

 
__autoload fonksiyonu
 


<?php //klass.php

class BenimKlasim{
        var $i=0;
   
    function BenimKlasim(){
        echo "naber";
    }
}

?>

 
<?php //test.php

function __autoload("$class_name") { // sayfada tanımlanan bir klass varsa __autoload çalışır.
    require_once "$class_name";
}

$obj  = new BenimKlasim();

?>
 

 

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...