php面向物件之$this->用法簡述
在成員方法中,呼叫成員方法的方法是物件名加方法名,格式就是“物件名->方法名”。但是在定義類的時候,我們往往不知道物件名是什麼,所以就沒法用物件名,這時,我們就要用到偽變數$this。
什麼是$this?
$this的意思就是本身,在$this中有個指標,誰呼叫它,他就指向誰,它只能再類內部使用。
$this用法例項:
我們來舉個例子,讓大家可以更加清楚的看到這個$this的含義指向。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php header("content-type:text/html;charset=utf-8"); class Preson{ //定義類 public $name; public $age; public function __construct($Name,$Age) //建構函式 { $this -> name = $Name; $this -> age = $Age; echo '<pre>'; var_dump($this); //打印出$this } public function showInfo(){ //成員方法 echo "個人資訊:"; echo '<br/>'."名字是:".$this -> name .'<br/>'."年齡是:".$this->age; } } $preson = new Preson("小草",25); //例項化 var_dump($preson); //打印出$this $preson -> showInfo(); echo '<hr>'; $preson = new Preson("大樹",30); //例項化 var_dump($preson); //打印出$preson $preson -> showInfo(); |
從上圖我們可以看到結果對比。打印出來的$this和$preson結果是一樣的,也就是說,$preson呼叫了$this,$this指向的就是它,所以說結果是一樣的。因此$this究竟指向哪是由所例項化的物件決定的,指向當前物件例項的指標。包括變數、方法都是如此。也就是印證了我們上面的話誰呼叫它,他就指向誰。