11

コンストラクターのような親クラスの名前で試してみましたが、部分的に機能します。

への最初の呼び出し

「ダースベイダー法」

コンストラクターと同様ですが、決して呼び出しません

「ルーク・スカイウォーカー・コンストラクター」..

誰かがそれを行う方法を知っていますか?

例:

Darth.php

class DarthVader{
    public function DarthVader(){
        echo "-- Obi-Wan never told you what happened to your father.\n";
    }
    public function reponse(){
        echo "-- No. I am your father\n";
    }
}

ルーク.php

include("Darth.php")

class LukeSkywalker extends DarthVader{
 public function __constructor(){
        echo "- He told me enough! He told me you killed him!\n"
        $this->response();
    }
}

期待される結果:

  • オビワンはあなたの父親に何が起こったかをあなたに話しませんでした。

  • 彼は私に十分に言った!彼はあなたが彼を殺したと言った !

  • いいえ、私はあなたのお父さんです

私は本当にそれを自動的に望んでいます。

4

2 に答える 2

31

ドキュメントに従って: http://php.net/manual/en/language.oop5.decon.php

注: 子クラスでコンストラクターが定義されている場合、親コンストラクターは暗黙的に呼び出されません。親コンストラクターを実行するには、子コンストラクター内で parent::__construct() を呼び出す必要があります。子がコンストラクターを定義していない場合は、通常のクラス メソッドと同様に親クラスから継承できます (プライベートとして宣言されていない場合)。

于 2013-05-09T19:25:06.320 に答える