PHP’de Sınıf Yapısına Giriş
PHP OOP’nin (Object Oriented Programming – Nesne Yönelimli Programlama) temeli sınıflardan (class) oluşur.
PHP’de sınıf (class) tanımlaması şu şekilde yapılır:
class isim { }
Oluşturduğumuz sınıfı kullanabilmemiz için onun görüntüsünü (instance) oluşturmamız gerekir. Görüntüsünü oluşturmak için new kodunu kullanırız.
$degisken = new isim();
$değisken adındaki bir değişkene (variable) sınıfımızın görüntüsü atadık.
Sınıfımızda değişken tanımlamak istersek eğer bir erişim sağlayıcısıyla (public, private, protected) beraber yazmamız gerekir. Yoksa PHP’de hata meydana gelir.
class isim { public $degisken; }
Fonksiyon (Function)
PHP’de fonksiyonlar (function) iki türlüdür. Geriye değer döndüren veya döndürmeyen.
Eğer geriye değer döndüreceksek return komutunu kullanırız.
function fonkisim { //Kodlar return "değer"; }
Fonksiyonun alt program olarak kullanımı:
function fonkisim { echo "Bu bir Alt programdır."; }
Bir fonksiyona dışarıdan parametre yollarak kullanılması:
function fonkisim($param) { //Kodlar }
Bir fonksiyondan sınıfımıza ait bir değişkene veya metoda erişmemiz için $this kodunu kullanırız.
class isim { public $degisken; function degiskendegerata($deger) { $this->degisken = $deger; } } $isim = new isim(); $isim->degiskendegerata("deger");
Yapıcı (__construct) Metod
Sınıf türetildiği zaman ilk tetiklenecek metoddur. Geriye değer döndüremez.
class isim { function __construct() { echo "Ben ilk çalışan metodum..."; } }
Yıkıcı (__destruct) Metod
Sınıf türetildikten sonra, en son tetiklenir. Sınıf kapatılırken yok edildiği anda çalışan metoddur. Sınıfta Exit() metoduyla sonlarılsa dahi bu metod çalışır.
class isim { function __destruct() { echo get_class($this) . " sınıfı yokediliyor..."; } }
static Anahtar Sözcüğü
static olarak tanımlanmış, sınıf özelliklerine veya yöntemlerine türettirmeden ulaşabiliriz. Normal olarak türetilmiş bir sınıftan static olan nesneye erişilemez. isim::$staticnesneisim olarak erişilebilir. Sınıfta oluşturulmuş bir static nesneye sınıftan self::$staticnesneisim olarak erişilir.
class isim { public static $degisken; function __construct() { self::$degisken= "deger"; } } $isim=new isim(); echo isim::$degisken;