Ben sihirli yöntemleri kullanın. Yansıma API kullanırken, ben Neden bu böyledir .. sınıf özelliklerini araştırmak değil mi?
EDIT
Reflection API nedir? pls bana ben anlaşılmaktadır vermedi php.net söz etmiyorlar .. rehberlik Beni sözleriyle Plsss
Özelliklerine erişmek için sihirli yöntemler kullanarak, bu özellikler genellikle sınıf 'tanımı mevcut olmayacaktır.
Sizin sınıf 'tanımı genellikle bu gibi görünecektir:
class MyClass {
private $data;
public function __get($name) {
return $this->data[$name];
}
public function __set($name, $value) {
$this->data[$name] = $value;
}
}
As there is no real properties -- there is on only a $data
array, which will be used by the magic methods __get
an __set
as a big data-store -- those cannot be seen by the Reflection API.
Bu sihirli yöntemler kullanarak neden sorunlardan biri: bunlar yok erişim özelliklerine (or methods, with __call
) em> için kullanılır - ve Reflection API sadece orada neler olduğunu görebiliriz.
Olası bir çözüm korunan $ veri kapsamını artırmak için olabilir:
class MyClass {
protected $data;
public function __get($name) {
return $this->data[$name];
}
public function __set($name, $value) {
$this->data[$name] = $value;
}
}
Uygun gördükleri ve zamanı tanımlanan özellikler toplamak Bu şekilde, genişletilmiş sınıflar dizi erişebilirsiniz.