Merhabalar bu yazımızda Php’de OOP(Object Oriantal Programming) yani Nesneye Yönelik Programlama’ya giriş yapacağız.Class(sınıf) nasıl tanımlanır, class(sınıf) tanımlamanın kuralları nelerdir, oluşturulan class(sınıf) nasıl çağırılır konularına değineceğiz.Öncelikle tanımlarla başlayalım, sonrasında örneklerimizi yaparız.

class : Herhangi bir programlamada belirli bir veya daha fazla işi gerçekleştirmek için önceden hazırlanmış nesnelere verilen isimdir.

new : Daha önceden tanımlanmış olan herhangi bir sınıfı çağırmak için kullanılır.

Kurallar :

  • Sınıf isimleri her zaman anlamlı olarak kullanılmalıdır.
  • Sınıf isimleri içerisinde alfanumerik değerler(a-z A-Z 0-9) ve alt çizgi(_) kullanılabilir.
  • Sınıf isimleri mutlaka bir harf veya alt çizgi(_) ile başlamalıdır.
  • Sınıf isimleri hiçbir şekilde bir rakam ile başlayamaz.
  • Sınıf isimlerinde hiçbir zaman boşluk, türkçe kartakterler ve özel karakterler kullanılamaz.
  • Sınıf isimleri tanımlanırken hiçbir zaman PHP tarafından kullanılan isimler / tanımlar kullanılamaz
  • Sınıf isimleri hiçbir zaman birden fazla kez kullanılamaz.Sadece namespace(isim uzayı) kullanılması durumunda birden fazla kez kullanılabilir.
  • Sınıf isimleri büyük / küçük harfe duyarlı değildir.
  • Sınıflar kapsama / etki alanı kurallarına tabidir.

Yapısı :

class Isim{
        Kod Blokları
    }

Örnek 1 : Sınıf içerisinde kullanılan özellik değişken olursa

<?php
     class isimsoyisim{

      //Özellik
    public $isim = "Uğur";
    public $soyisim = "Kabak";
    }
    $sonuc = new isimsoyisim;
    echo $sonuc-> isim . " " . $sonuc ->soyisim;
?>

Yukarıdaki örnekte sınıf içerisinde public olarak isim ve soyisim değişkenlerini tanımladık. Eğer özellik değişken ise ekrana yazdırırken değişkene (->) ifadesi ile aktarabiliyoruz. Ama bilgileri sınıftan çektiğimiz için -> ifadesinden sonra değişkenin başına $ ifadesini yazmıyoruz.

Örnek 2 : Sınıf içerisinde kullanılan özellik sabitolursa

<?php
     class isimsoyisim{

      //Özellik
   public const isim = "Uğur";
   public const soyisim = "Kabak";;

    }
    $sonuc = new isimsoyisim;
    echo isimsoyisim::isim . "<br>";
    echo isimsoyisim:: soyisim;

?>

Yukarıdaki örnekte sınıf içerisinde public olarak isim ve soyisim sabitlerini tanımladık. Eğer özellik sabitise ekrana yazdırırken değişkene (::) ifadesi ile aktarabiliyoruz. Ama bilgileri sınıftan çektiğimiz için :: ifadesinden sonra sabitin başına $ ifadesini yazmıyoruz.

Örnek 3 : Sınıf içerisinde kullanılan özellik metod olursa

<?php
     class Deneme{

      public function Egitimbir(){
        $sonuc = "A'dan Z'ye PHP Eğitim Seti";
        return $sonuc;
      }
      public function Egitimiki(){
        $sonuc = "A'dan Z'ye Javascript Eğitim Seti";
        return $sonuc;
      }

    }
    $nesne = new Deneme;

    $metinbir = $nesne->Egitimbir();
    echo $metinbir . "<br><br>";


    $metiniki = $nesne->Egitimiki();
    echo $metiniki;

?>

Yukarıdaki örnekte sınıf içerisinde public olarak Egitimbir ve Egitimiki fonksiyonlarını tanımladık. Eğer özellik fonksiyon ise ekrana yazdırırken değişkene (->) ifadesi ile aktarabiliyoruz. Ama bilgileri sınıftan çektiğimiz için -> ifadesinden sonra sabitin başına $ ifadesini yazmıyoruz.

Örnek 4 : Sınıf içerisinde kullanılan özelliklerin hepsi bir arada olursa

<?php
      class Detay{
    public $isim = "Uğur";

    public const SOYISIM = "Kabak";

    public function Bilgiler(){
      $meslek = "Bilgisayar Mühendisi";
      $sehir = "Balıkesir";
      $metin ="Mesleği : " . $meslek . "<br> İli : " . $sehir;
      return $metin;
    }
  }
    $sonuc = new Detay;
    echo "İsim Soyisim :" . $sonuc->isim . " " . Detay::SOYISIM . "<br>" . $sonuc -> Bilgiler();

?>

Yukarıdaki örnekte sınıf içerisinde public olarak isim değişkenini SOYISIM sabitini ve Bilgiler fonksiyonunu tanımladık. Eğer özellik değişken veya fonksiyon ise ekrana yazdırırken değişkene (->) ifadesi ile aktarabiliyoruz. Ama bilgileri sınıftan çektiğimiz için -> ifadesinden sonra sabitin başına $ ifadesini yazmıyoruz.Eğer özellik sabitise ekrana yazdırırken değişkene (::) ifadesi ile aktarabiliyoruz. Ama bilgileri sınıftan çektiğimiz için :: ifadesinden sonra sabitin başına $ ifadesini yazmıyoruz.

Bu yazımızda sınıflarla ilgili temel bilgileri verdik ve bu temel bilgilerle ilgili örnekler yaptık arkadaşlar. Yazılarımızın devamı için takipte kalın..