BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > PHP > PHP nesne (Object)

PHP nesne (Object)

Daha önceki bölümlerde aynı anda sadece tek veri barındırabilen dört temel veri tipi ile aynı anda birden fazla farklı veri türünü barındırabilen ve tek değişken adı ile erişim sağlanabilen ve bileşik bir veri türü olan dizi veri türünü inceledik.

Bu bölümde yine aynı anda birden fazla farklı veri türünü barındırabilen, tek değişken adı erişim sağlanabilen ve bileşik bir veri türü olan, ilaveten içinde fonksiyon tanımlamaları da barındırabilen object veri türünü incelemeye çalışacağız.

Bir nesne verisi oluşturmak için öncelikle içerisinde veri ve fonksiyonları barındıracağımız class (sınıf) adı verilen bir yapı oluşturmamız gerekir. Class yapısını tanımlamak için class ifadesi kullanılır.


class sınıf_adı
{
    $veri;
    .
    .
    $veri;
   
    function fonksiyon_adı()
    {
        fonksiyon komut satırı;
        .
        .
        fonksiyon komut satırı;	 
    }
}


class personel
{
    public $adi;    // String veri
    public $soyadi; // String veri
    public $yasi;   // Integer veri
	
    function yaz_bilgi()
    {
        echo $this->adi . " " . $this->soyadi . " " . $this->yasi . '<br/>';
    }
}

Yukarıdaki class yapısı içinde iki adet string ve bir adet integer veri türü ile class içindeki verileri ekrana yazdırmaya yarayan bir fonksiyon tanımladık.

class içindeki bir fonksiyondan bir veri değişkenine erişim için $this-> ifadesi kullanılmaktadır.

class yapısı içinde veri atamak için tanımlanan değişken adlarının $ işareti ile başladığına, ancak değişkene erişim için değişken adnın başındaki $ işaretinin kullanılmadığına dikkat ediniz!

PHP'de fonksiyon bir veya daha fazla komutun içinde yer aldığı ve PHP programının herhangi bir yerinden sadece fonksiyon adı çağrılarak, fonksiyon içindeki komutların tamamının çalıştırılmasını sağlayan bir yapıdır. Aşağıdaki şekilde tanımlaması yapılır:


function fonksiyon_adı()
{
    komut satırı;
    .
    .
    komut satırı;
}

class yapısına ait nesne veri türünü tanımladığımızda, ilgili class yapısının tüm verilerine tanımladığımız nesne veri türü yoluyla ulaşabiliriz. Nesne veri türü tanımlamak için new ifadesi kullanılır.

$nesne_adı = new class_adı;

Tanımlanan nesnenin class içindeki veri değişkenlerine erişimi için -> işlemcisi kullanılır.


$obj_per = new personel;

$obj_per->adi = "Mehmet";           // nesne verisine değer atama
$obj_per->soyadi = "Çalışkan";      // nesne verisine değer atama
$obj_per->yasi = 25;                // nesne verisine değer atama

$obj_per->yaz_bilgi();              // nesne verilerini ekrana yazar.


<html>
<body>

<?php
    class personel
    {
        public $adi;          
        public $soyadi;       
        public $yasi;         
	
        function  yaz_bilgi()
        {
            echo $this->adi . " " . $this->soyadi . " " . $this->yasi . '<br/>';
        }
    }

    $obj_per01 = new personel;
    $obj_per02 = new personel;
 
    $obj_per01->adi = "Mehmet";       
    $obj_per01->soyadi = "Çalışkan";  
    $obj_per01->yasi = 25;            

    $obj_per02->adi = "Selami";       
    $obj_per02->soyadi = "Yalçın";  
    $obj_per02->yasi = 32;

    $obj_per01->yaz_bilgi();
    $obj_per02->yaz_bilgi();
?>

</body>
</html>

Yukarıdaki dosyayı çalıştırdığınızda, web taracıyınızda aşağıdaki ifadeler karşınıza çıkar:

Mehmet Çalışkan 25
Selami Yalçın 32

Yukarıdaki PHP dosyasında, personel adlı class yapısından iki adet nesne verisi tanımlanır. Nesne verilerine farklı değerler atanarak ekrana yazılır.