Merhabalar bu yazımızda Php’de OOP(Object Oriantal Programming) yani Nesneye Yönelik Programlama’ya devam edeceğiz. Önceki yazımızı tıklayarak okuyabilirsiniz.

var : Herhangi bir sınıf içerisinde standart değişken tanımlamak için kullanılır.

Örnek :

  <?php
    class Deneme{
      var  $isim = "Uğur";
    }
    $islem = new Deneme;

    echo $islem->isim;


     ?>

isim adında bir standart değişken tanımladık ve ekrana yazdırdık. Çıktıda Uğur yazacaktır.

Sınıflarda construct ve destruct metodları vardır, bu metodlar ne işe yarar ?

__construct : Belirtilecek olan sınıfa yapıcı metod tanımlamak için kullanılır.

__destruct : Belirtilecek olan sınıfa yıkıcı metod tanımlamak için kullanılır.

construct ve destruct metodlarını tanımlarken başına 2 tane alt çizgi(__) koymamız gerekiyor.Construct yapıcı metod olduğu için nerede tanımlanırsa tanımlansın her zaman sayfanın en üstünde gözükür. Destruct da bunun tam tersi, ynai yıkıcı metod olduğu için nerede tanımlanırsa tanımlansın her zaman sayfanın en altında gözükür.

<?php
class Deneme{
  public function __construct(){
      echo "Sınıf çalıştı ve yapıcı metod devreye girdi <br>";
  }

    public $isim    = "Uğur";
    public $soyisim = "Kabak";

    public function Yaz(){
        $metin = "PHP OOP Eğitim Seti";
        return $metin;
    }
    public function __destruct(){
        echo "Sınıf içindeki tüm özellik ve metodların çalışması tamamlandığı için ve yıkıcı metod devreye girdi";
    }
}

$islemyap = new Deneme;
echo $islemyap->isim . " " . $islemyap->soyisim . " " . $islemyap->Yaz() . "<br>";

 ?>

Sınıflarda yapıcı metodlara parametre nasıl gönderilir veya varsayılan parametreye sonradan değer nasıl oluşturulur. Sıradaki 2 örnekte bunları göreceğiz.

Örnek : Varsayılan parametre oluşturma

<?php
class deneme{
        public function __construct($hostbilgisi="localhost",$kullaniciadi="codernsoft",$sifre="123456",$veritabaniadi="db_oop"){
          $metin = "Host bilgisi : " . $hostbilgisi . "<br>" . "Kullanıcı Adı : " . $kullaniciadi . "<br>" .
          "Şifre : " . $sifre . "<br>" . "Veritabanı Adı : " . $veritabaniadi;
          echo $metin;
        }
      }

      $islem = new deneme();
?>

Örnek : Varsayılan parametreye sonradan değer oluşturma

<?php
  class deneme{
        public function __construct($hostbilgisi="localhost",$kullaniciadi="abcde",$sifre="123456",$veritabaniadi="db_oop"){
        $metin = "Host bilgisi : " . $hostbilgisi . "<br>" . "Kullanıcı Adı : " . $kullaniciadi . "<br>" .
        "Şifre : " . $sifre . "<br>" . "Veritabanı Adı : " . $veritabaniadi;
        echo $metin;
          }
        }

        $islem = new deneme(null,"codernsoft",null,"Blog");

?>

Başlangıçtaki değerler localhost, abcde, 123456, db_oop olarak verilmişti ama sonradan host bilgisi ve şifreye null değerini, kullanıcı adı’na codernsoft değerini ve veritabanı adına da Blog değerini verdik. Ekran çıktısı da şu şekilde oldu.

Son olarak sınıf içindeki özelliklere dışarıdan nasıl değer atanır gösterelim.

Örnek : Sınıf içerisinde tanımlanan değişkenlere dışarıdan değer atayıp ekrana yazdırma

<?php  
class deneme{

        public $sehir;
        public $ilce;

      }
      $islem = new deneme;
      $islem->sehir = "Balıkesir";
      $islem->ilce = "Altıeylül";

      echo $islem->sehir . " " . $islem->ilce . "<br><br>";

      $islem->sehir = "İzmir";
      $islem->soyisim = "Konak";

      echo $islem->sehir . " " . $islem->ilce . "<br><br>";

      $islem->sehir = "İstanbul";
      $islem->soyisim = "Kadıköy";
      echo $islem->sehir . " " . $islem->ilce;
?>

Örnek : Sınıf içerisindeki özellik private veya protected olarak tanımlanırsa sınıf dışından kesinlikle değer gönderilemez.

<?php
class deneme{

        private  $isim = "Uğur";
        protected  $soyisim  = "Kabak";

      }
      $islem = new deneme;

      echo $islem->isim . " " . $islem->soyisim;
?>

Örnek : Sabit tanımlılarda da özellik oluşturulsa bile dışarıdan değer verilemez.

<?php
 class deneme{

        public const takim = "Real Madrid";
        public const oyuncu  = "Benzema";

      }
      $islem = new deneme;
      $islem->takim = "Juventus";
      $islem->oyuncu = "Dybala";

      echo deneme::takim . "<br>" . deneme::oyuncu;
?>

Normalde sabiti tanımladıktan sonra dışarıdan değer atayıp değerleri değiştirmeye çalıştık, ama sınıf içerisinde tanımlanan değerler sabit olduğu için dışarıdan değer atanılamıyor.

Bu yazımızda sınıflarla ilgili derslerimize devam ettik ve bununla ilgili ilgili örnekler yaptık arkadaşlar. Yazılarımızın devamı için takipte kalın.