私の抽象的な親クラスには、そのサブクラスがすべての変数を反復することを可能にするメソッドを継承したいと思います。親、それ自身の変数です)。現時点でPHPの親関数はサブクラスのメンバーを見ることができません
私は親でこのメソッドを実装する場合は、親のみの変数が繰り返し処理されます。一方
class MyObject {
private $one;
private $two;
private $three;
function assignToMembers() {
$xx = 1;
foreach($this as $key => $value) {
echo "key: ".$key."<br />";
$this->$key = $xx;
$xx++;
}
}
public function getOne() {
return $this->one;
}
public function getTwo() {
return $this->two;
}
public function getThree() {
return $this->three;
}
}
class MyObjectSubclass extends MyObject {
private $four;
private $five;
public function getFour() {
return $this->four;
}
public function getFive() {
return $this->five;
}
}
$o = new MyObjectSubclass();
$o->assignToMembers();
echo $o->getOne()." ";
echo $o->getTwo()." ";
echo $o->getThree()." ";
echo $o->getFour()." ";
echo $o->getFive()." ";
// This prints 1 2 3
を、私は置けばassignToMembers
がサブクラスで機能する場合、サブクラスのメンバーだけが反復処理されます。
私のassignToMembers()
関数をいくつかのサブクラスで使用できるようにするため、すべてのサブクラスでそれを実装する必要はありませんが、親クラスでのみ実装する必要はありませんそのクラスのメンバーにアクセスします。
これを達成する方法はありますか?
ありがとうございます。
ありがとうございました。 – Joe