Alıcı yöntemleri kullanmanın çeşitli avantajları vardır. Zaten, biçimlendirme internals değiştirseniz bile aynı sınıfın dış arabirim tutmak, ve hata ayıklama zikredilen. Hesaplanmış bir özelliği var eğer ben de önbelleğe alma için bazen bunları kullanmak.
örneğin
class TestClass
{
private $_cachedTestProperty;
public function __get($varname)
{
switch ($varname)
{
case "testProperty":
if (!isset($this->_cachedTestProperty))
{
$this->_cachedTestProperty = /*calculate property*/
}
return $this->_cachedTestProperty;
break;
}
}
}
Bunu yaparsanız sınıfa başka değişiklik obselete bu işler varsa, önbelleğe alınan değer unset hatırlamak gerekir
Onlar da sağlayabilir salt okunur korumalı / özel değişkenlere erişimi
Her zaman olduğu gibi bu şeyler, bir ortak özelliği ya da bir alıcı kullanmak isteyip istemediğinizi yapmak için çalışıyoruz ne bağlıdır. Onlar, her iş için doğru aracı kullanarak onun bir durum daha iyi değil