クラス aaa{
var $b;
関数 __construct($x){
$this->b= $x;
関数 b($x) {
$this->construct($x);
}
function c{...}
function d(){...}
}
$k= new aaa(x);
$html_text = $k->d();
function b($x) {
$this- >__construct(
ディスカッションへの返信 (解決策) __construct は、新しいクラス名が使用されたときに自動的に実行されるコンストラクター関数
function b($x) {
$this->construct($x);
}
関数 b($x) {
$this->b=$x;
}
理解できるでしょう
__construct コンストラクター
は、クラスがインスタンス化されるときに自動的に呼び出されます。通常、初期化作業に使用されます。
class ) { $this-> を修正します。 ;__construct($x); }元のコードは次のようになります
function aaa($x) { $this->__construct($x) }//関数名とクラス aaa が同じ名前であることを修正します。 /しかし、この文はよくわかりません。
私の理解では、$k= new aaa("x") function __construct($x はインスタンス化されたときに実行されます){$ を使用するときです。 this->b= $x;} したがって、割り当ては完了します。
ただし、クラス内の他の関数 c{...} と関数 d(){...} は実行されません。
そこで質問は次のとおりです:
クラス内でクラスと同じ名前を持ち、文が 1 つだけある関数 aaa は何をするのかです。 ?
この時点で $k= new aaa("x"); だとインスタンス化は実行されるのでしょうか?
試してみても実行されないようです。それを function aaa ($x) { $this->__construct($x);echo "aaaaa"; echo $x;}
$k= new aaa("x"); に変更しました。出力; それはまだインスタンス内にある必要があります 変換後に
を出力するために使用できるのは $k->aaa(55555) だけなので、同じ名前の関数の何がそんなに特別なのか理解できません。 $this->__construct (「インスタンス化時のパラメータと同じパラメータ」) のみを持つクラス
の役割は何ですか?