これは超古いことだと思いますが、他の誰かが手がかりを必要とする場合に備えて...
静的変数の使用を検討しましたか?
PHP OOP 設計パターンは、親クラスで静的に宣言された変数が子クラスでも同じままになるようなものです。
例えば...
<?php
class A {
public static $test = 'a';
public function test() {
echo 'Test is: '.self::$test;
}
}
class B extends A {
public static $test = 'b';
}
$obj = new B;
$obj->test();
?>
このコードを実行すると (PHP 5.3 で - 他のバージョンでも同じだと思います)、次の結果が得られます。
テストは:
OPで収集できるものから、拡張クラスであっても、親クラス変数が残る方法を探しています。これはその問題を解決します。
クラス スコープの外 (つまり、通常は$obj->varsを記述する場所) で変数をパブリックに呼び出すには、参照する親クラスに関数を作成して、self::$variable_name
その変数をコードにスローできるようにする必要があります。そのクラス、またはそれを拡張する他のクラスのいずれかを利用します。
たとえば、次のようなものです。
public function get_variable() {
return self::$variable;
}
また、インスタンスに求めるもの (つまり、メソッドまたは変数) に基づいて、self::$variable を動的にスローする魔法のメソッドを作成することもできます。どのような場合でも、コードを配線して、同等の self::$variable をスローすることができます。
この種のことを可能にするさまざまなマジック メソッドの詳細については、http://php.net/manual/en/language.oop5.magic.phpを参照してください。
OPは少し不可解だったので、それがまさにあなたが望んでいたものかどうかはわかりませんでしたが、ここで静的変数を参照している人は他に誰もいなかったので、私がチャイムを鳴らすと思いました-それが役立つことを願っています!