“Dünya eskisinden kötü değil. Sadece iletişim çok gelişti.”

Php de Zincirleme Yöntemi

Tarih: Mart 20th, 2010 | Yazar: | Kategoriler: Php | Etiketler: | Yorum Yok »

Birçok nesne tabanlı programlama dilinde uygulanan Zincirleme Yöntemini Php de nasıl yapacağımızı anlatmaya çalışacağım, bu yazımda.

Zincirleme yönetimi bir tanımlama ile birden çok fonksiyonu çalıştırmamızı sağlar. Şimdi aşağıdaki örnek sınıfımıza bir göz atalım.
Örnek Sınıfımız

class Kullanici
{
	private $ad = null;
	private $soyad = null;
	private $yas = null;
	
	public function setAd($ad)
	{
		$this->ad = $ad;
		return $this;
	}
	
	public function setSoyad($soyad)
	{
		$this->soyad = $soyad;
		return $this;
	}
	
	public function setYas($yas)
	{
		$this->yas = $yas;
		return $this;
	}
	
	public function getBilgiler()
	{
		echo 'Ad: ' . $this->ad . ' Soyad: ' . $this->soyad . ' Yas: ' . $this->yas;
	}
} 

Sınıfımızı zincirleme yöntemi kullanmadan kullanalım.

$kullanici = new Kullanici();
$kullanici->setAd('Can');
$kullanici->setSoyad('Aydoğan');
$kullanici->setYas(21);
$kullanici->getBilgiler();

Gördüğünüz gibi her ayar için yeni bir tanımlama yaptık. Pek pratik bir yöntem değil haliyle.
Sınıfımızı zincirleme yöntemi kullanarak kullanalım.

$kullanici = new Kullanici();
$kullanici->setAd('Can')->setSoyad('Aydoğan')->setYas(21)->getBilgiler();

Gördüğünüz gibi tek tanımlama ile hem ayarlarımızı gerçekleştirdik hem çıktımızı aldık. Peki bunu nasıl yaptık? Cevabı çok kolay setAd, setSoyad ve setYas fonksiyonlarında dönen değer olarak $this değişkenini tanımladık. Yani sınıfımızı kendisini dönen değer olarak döndürüyoruz. Dönen değer sınıfın kendisi olunca her fonksiyonun arkasından yeni bir fonksiyon tanımlamamız mümkün oluyor.



Yorum Yap