私を驚かせている質問があります。親コンストラクターは、呼び出されずに自分自身を構築しますか?
原因は、私が書いているスクリプトではなく、状況で機能しているのを見ているからです。
私は以下を得ました:
boot.php
$this->router = new router($param);
ルーター.php
class router extends routerController
- クラスルーターには__constructがありません。
routercontroller.php
class routerController{
function __construct($param){
$this->param = $param;
}
- クラス ルーターに __construct を追加すると、拡張クラス routerController の __construct は実行されません。したがって、この場合、コンストラクターはparent::_constructなしで構築されているようです。
同じスクリプトで、routerController クラスに入りました。
$this->newclass = newclass($this->param);
newClass は someClass を拡張します。何らかの理由で、parent::__construct($param) を使用して newClass から呼び出さないと、someClass コンストラクターがインスタンス化されません。
私はすでにすべてのコードを確認するのに何時間も費やしましたが、何が間違っているのかを見つけることができません。最初のケースでは親コンストラクターが呼び出されずにインスタンス化され、2 番目のケースではインスタンス化されないのはなぜですか?
これはバグですか?私が間違っていることは何ですか?