私は抽象クラスを持っており、基本的には定数、変数、抽象メソッド、および非抽象/通常のメソッドの束を定義しています。典型的な構造は次のようになります。
abstract class ClassName{
const CONSTANT_NAME = "test";
protected static $variable_1 = "value";
protected $variable_2 = "value_2";
protected $variable_3 = "value_3"
abstract function doSomething();
protected function doSomethingElse();
}
問題は、このクラスを拡張し、子クラスの保護された変数にアクセスする必要がある場合です。次に例を示します。
public class ChildClassName extends ClassName{
public function accessParentClassMembers()
{
echo parent::$variable_1; // WORKS FINE
echo parent::$variable_2; // OBVIOUSLY DOESN'T WORK because it is not a static variable
}
}
問題は、$variable_2 にアクセスするにはどうすればよいかということです。つまり、子クラスが抽象親クラス*メンバー変数* にアクセスするにはどうすればよいですか?