Sitemap

PHP’de Nesne Yönelimli Programlama ve Yazılım Tasarım Desenleri

2 min readFeb 22, 2024

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.

--

--

No responses yet