7. 特別な参照 "$this" の使用 これで、オブジェクト内のメンバーにアクセスする方法がわかりました。これは、「オブジェクト->メンバー」を通じてアクセスされ、オブジェクトの外部のオブジェクトにアクセスします
メンバーの皆さん、オブジェクト内のメソッドがオブジェクト内のこのオブジェクトのプロパティにアクセスするようにしたい場合、またはオブジェクト内のメソッドがこのオブジェクトの他のメソッドを呼び出すようにしたい場合はどうすればよいですか?オブジェクト内のすべてのメンバーは、オブジェクトの内部メンバー間の呼び出しを含め、オブジェクトを使用して呼び出す必要があるため、PHP はこのオブジェクトへの参照 $this を提供し、各オブジェクトには オブジェクト参照 $this がオブジェクトを表し、 this の本来の意味は「this」です。上記の例では、オブジェクト $P1、$P2、$P3 の 3 つのインスタンスがそれぞれ 1 つずつインスタンス化されています。オブジェクト。それぞれオブジェクト $p1、$p2、$p3 を表します。
上の図から、$this がオブジェクト内のオブジェクトを表す参照であることがわかります。この
オブジェクトのメンバーを呼び出すために使用されるメソッドは、オブジェクトの外部のオブジェクトのメンバーを呼び出す場合と同じです。
$this->プロパティ$this->名前; $this->性別; メソッド$this->say(); ();
上の例を変更して、全員に自分の名前、性別、年齢を伝えます:
コードスニペット
コードをコピー
コードは次のとおりです:
class person{ //以下はその人のメンバー属性ですvar $name; //その人の名前var $sex //その人の性別
var $age;はその人のメンバーメソッドです
function Say (){//この人の話し方
echo "My name is: ".$this->name." Gender: ".$this->sex." My年齢は: ".$this ->age."
";
}
function run(){ //この人の歩き方
echo "この人は歩いています";
}
}
$p1 =new Person(); // インスタンス オブジェクト $p1 を作成
$p2=new Person(); // インスタンス オブジェクト $p2 を作成
$p3=new Person(); // インスタンス オブジェクト $p3 を作成
// 3 行は $p1 オブジェクトの属性割り当てです
$p1->name="Zhang San";
$p1->age=20; $p1 オブジェクトの発話メソッドにアクセスします
$p1->say();
//次の 3 行は、$p2 オブジェクトの属性に値を割り当てるためのものです
$p2->name="李思" ;
$p2->sex="女性";
$p2 ->age=30; 以下は、$p2 オブジェクトの発話メソッドにアクセスします
$p2->say(); //次の 3 行は $p3 オブジェクトのプロパティに値を代入します
$p3->name= "王五";
$p3-> ;age=40;
//以下は $p3 オブジェクトの発話メソッドにアクセスします
$p3->say();
出力結果
私の名前: Zhang San 性別: 男性は: 20
私の名前: Li Si 性別: 女性 私の年齢: 30
私の名前: Wang Wu 性別: 男性 私の年齢: 40
このメソッドを分析します:
コード スニペット
function Say(){ //この人の話し方
echo "私の名前は: ".$this->name." 性別: ".$this->sex." 私の年齢: ".$this->age."< br>";
}
3 つのオブジェクト $p1、$p2、$p3 のうち、すべてにsay() メソッドがあり、$this はこれら 3 つのオブジェクトをそれぞれ表し、対応する属性を呼び出し、属性の値を出力します。オブジェクト内のオブジェクト属性にアクセスする方法です。say() メソッド内にある場合は、say() メソッド内で $this->run() メソッドを呼び出すこともできます。通話を完了します。
http://www.bkjia.com/PHPjc/320653.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/320653.html
技術記事
7. 特別な参照「$this」の使用 これで、オブジェクト内のメンバーにアクセスする方法がわかりました。これには、オブジェクトの外部からオブジェクトにアクセスする「object-member」メソッドを通じてアクセスします...