クラス内の $this->construct($x);

WBOY
リリース: 2016-06-20 12:40:35
オリジナル
1397 人が閲覧しました

クラス 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 コンストラクター
は、クラスがインスタンス化されるときに自動的に呼び出されます。通常、初期化作業に使用されます。

関数 b($x in

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 (「インスタンス化時のパラメータと同じパラメータ」) のみを持つクラス


の役割は何ですか?

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート