Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php面向对象之$this->用法简述

php面向对象之$this->用法简述

巴扎黑
巴扎黑asal
2017-04-10 14:44:477243semak imbas

在成员方法中,调用成员方法的方法是对象名加方法名,格式就是“对象名->方法名”。但是在定义类的时候,我们往往不知道对象名是什么,所以就没法用对象名,这时,我们就要用到伪变量$this。

什么是$this?

$this的意思就是本身,在$this中有个指针,谁调用它,他就指向谁,它只能再类内部使用。

$this用法实例:

我们来举个例子,让大家可以更加清楚的看到这个$this的含义指向。

<?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 &#39;<pre class="brush:php;toolbar:false">&#39;;
     var_dump($this);                  //打印出$this
  }
  public function showInfo(){             //成员方法
     echo "个人信息:";
     echo &#39;<br/>&#39; . "名字是:" . $this -> name . &#39;<br/>&#39; . "年龄是:" . $this -> age;
  }
}
$preson = new Preson("小草",25);           //实例化
var_dump($preson);                    //打印出$this
$preson -> showInfo();
echo &#39;<hr>&#39;;
$preson = new Preson("大树",30);           //实例化
var_dump($preson);                   //打印出$preson
$preson -> showInfo();

QQ截图20170410132516.png

从上图我们可以看到结果对比。打印出来的$this和$preson结果是一样的,也就是说,$preson调用了$this,$this指向的就是它,所以说结果是一样的。因此$this究竟指向哪是由所实例化的对象决定的,指向当前对象实例的指针。包括变量、方法都是如此。也就是印证了我们上面的话谁调用它,他就指向谁。

Atas ialah kandungan terperinci php面向对象之$this->用法简述. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn