1. 程式人生 > >php面向物件之$this->用法簡述

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究竟指向哪是由所例項化的物件決定的,指向當前物件例項的指標。包括變數、方法都是如此。也就是印證了我們上面的話誰呼叫它,他就指向誰。