PHP’de Nesne Yönelimli Programlama ve Yazılım Tasarım Desenleri
Nesne yönelimli programlama (OOP), yazılım geliştirmede kullanılan bir paradigmadır. PHP, OOP kavramlarını destekleyen dinamik bir dil olup, web uygulamaları geliştirmede yaygın olarak kullanılır. Bu makalede, PHP’de OOP temelleri ve yaygın yazılım tasarım desenlerini inceleyeceğiz.
OOP Temelleri
Sınıflar ve Nesneler
PHP’de bir sınıf, nesnelerin oluşturulması için bir şablon görevi görür. Örneğin, bir Araba
sınıfı tanımlayalım:
class Araba {
public $marka;
public $model;
public function calistir() {
echo $this->marka . " " . $this->model . " çalıştırıldı.";
}
}
Bu sınıftan bir nesne yaratmak için new
anahtar kelimesi kullanılır:
$benimArabam = new Araba();
$benimArabam->marka = "Toyota";
$benimArabam->model = "Corolla";
$benimArabam->calistir(); // Çıktı: Toyota Corolla çalıştırıldı.
Kalıtım (Extends)
Kalıtım, bir sınıfın başka bir sınıftan özelliklerini ve metotlarını miras almasını sağlar. Örneğin, ElektrikliAraba
sınıfı Araba
sınıfından türeyebilir:
class ElektrikliAraba extends Araba {
public function sarjEt() {
echo "Araba şarj ediliyor...";
}
}
Yazılım Tasarım Desenleri
Fabrika Deseni (Factory Pattern)
Fabrika deseni, nesne oluşturma süreçlerini soyutlayarak, sınıfın kendisi yerine bir fabrika kullanılmasını sağlar. Örnek:
class ArabaFabrikasi {
public static function arabaUret($marka, $model) {
return new Araba($marka, $model);
}
}
$araba = ArabaFabrikasi::arabaUret("Ford", "Focus");
Tekil (Singleton) Deseni
Tekil desen, bir sınıfın sadece bir nesnesinin oluşturulmasını sağlar. Bu, özellikle veritabanı bağlantıları için kullanışlıdır:
class Veritabani {
private static $ornek = null;
private function __construct() {}
public static function getOrnek() {
if (self::$ornek == null) {
self::$ornek = new Veritabani();
}
return self::$ornek;
}
}
$db1 = Veritabani::getOrnek();
$db2 = Veritabani::getOrnek();
Sonuç
PHP’de nesne yönelimli programlama ve yazılım tasarım desenleri, kodun daha düzenli, bakımı kolay ve genişletilebilir olmasını sağlar. Bu makalede bahsedilen temel OOP kavramları ve tasarım desenleri, PHP ile web uygulamaları geliştirirken güçlü bir temel oluşturur.