SuperObject と PageGenerator という 2 つのクラスがあるとします。
PageGenerator (および他の多くのクラス) は SuperObject を継承し、SuperObject にはデータベース接続用の「db_conn」というフィールドがあります。
したがって、私のコードは次のようになります。
class SuperObject {
protected static $db_conn = null;
public function __construct($db){ $this->db_conn = $db; }
}
class PageGenerator extends SuperObject {
public function some_function(){
//something using parent::$db_conn;
}
}
// somewhere down the way
$so = new SuperObject( $db_object );
$page = new PageGenerator();
$page->some_function();
しかし、私はそれができないと思います。少なくとも、そうではありません。
それでどうする?