Ben PHP specs on overloading iyi bir okuma yaşadım ve örnekler en basit (stdClass benzer) özel alanları tanımlayan izin amaçlanmıştır görünmektedir.
Ama ne benim sınıfında tanımlanan özel alanlar hakkında? Nasıl bu atanmış / alınması gerekir? Ben olası değerleri hakkında bir anahtar yapmak ve belli değerler üzerinde hareket olabilir:
class A
{
private $name;
private $age;
public function __get( $var )
{
switch ( $var )
{
case 'name':
return $this->name;
break;
case 'age':
return $this->age+10; // just to do something different ;)
break;
default:
break;
}
}
}
Bu iyi yöntemdir, ya da başka bir genel kabul görmüş en iyi uygulama var mı? (Bir sınıf içinde döngü sınıf değişkenleri mümkün olmadığını bilmiyorum, ama her şeyi geri dönmek istemiyorum çünkü ne olursa olsun bu çoğu durumlarda uygun değildir.)