在成员方法中,调用成员方法的方法是对象名加方法名,格式就是“对象名->方法名”。但是在定义类的时候,我们往往不知道对象名是什么,所以就没法用对象名,这时,我们就要用到伪变量$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 '<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究竟指向哪是由所实例化的对象决定的,指向当前对象实例的指针。包括变量、方法都是如此。也就是印证了我们上面的话谁调用它,他就指向谁。
以上就是php面向对象之$this->用法简述的详细内容。