PHP5 alıcılar ve ayarlayıcıları nelerdir?
Birisi bana bir açıklama ile iyi bir örnek verebilir misiniz?
Bu OOP'deki veri gizleme (veya kapsülleme) için kavramdır. Eğer sınıfta belli bir özelliği sahip olmak istiyorsanız Örneğin, en 'Tutar' diyelim ve size sınıf müşteri vermek sizin kullanmak isteyenler için görünür değil (değişken 'Tutar' Özel yapmalıdır değerini değiştirmek ya da çıkarmak için bir seçenek sınıf) ve iki yöntem, bir alıcı ve değerini işleyen bir ayarlayıcı (public) üretir.
Nedeni değerini ayarlayarak veya almadan önce, verileri doğrulamak ya da manipüle edebilmek için. Burada kısa bir örnek:
class test {
private $count; //those who use your class are not able to see this property, only the methods above
public function setCount( $value )
{
//make some validation or manipulation on data here, if needed
$this->count = $value;
}
public function getCount()
{
return $this->count;
}
}
Sınıfların nitelikleri özel olabilir. Bu sadece nesne kendi özel özelliklerini okumak ve yazmak anlamına gelir. Bu nedenle bunu yapmak için yöntemler gerekir. Bir öznitelik değerini okumak ve dönmek yöntemleri alıcılar ve ayarlayıcıları denir özelliklerini yazmak olanlar denir. Bu yöntemler ile sınıflar çıkıyor ne kontrol edebilir ve hangi Bu kavram denir içeri geliyor encapsulation.
Alıcılar ve Setters iki büyülü fonksiyonları şeklinde PHP 5 oldukça yeni bir kavram olan __ get () ve set (). Bu iki işlev ayarlamak veya dramatik olarak, aşağıdaki örnekte açıklandığı bir nesnenin özellik değerini almak.
class Datatype{
private $thing;
public function _set($k,$v){
$this->$k = $v;
}
public function __get($k){
return $this->$k;
}
}
PHP kılavuzu konuda, but bir sürü açıklamalıdır çok ayrıntılı bir örnek var gerçekten çok ayrıntılı değil. Magic methods: Property overloading a>