基本クラス:
class A {
public x;
public y;
public function __construct {
$this->x = new X();
$this->y = new Y();
}
}
クラスX:
class X extends A {
public function __construct {}
public function job() {
echo 'x working!';
}
}
クラスY:
class Y extends A {
public function __construct {}
public function job() {
var_dump($this->x); // NULL, Why???
$this->x->job();
}
}
問題x->job(): class 内から呼び出すと、既にインスタンス化Yされたオブジェクトに完全にアクセスできず、それが.Xvar_dumpnull
それの何が問題なのですか?
ありがとう!:)
アップデート:
parent::__construct();子クラスの__construct()メソッドで使用すると、 が生成されFatal Error: maximum function nesting level of '100' reached, aborting!ます。そのため、これらの空の__construct()メソッドを追加します。それを解決する方法はありますか?
ソースコードにもこれがあります:
$base = new A();
つまり、コンストラクターは既に実行されているはずですよね?