学科分类
目录
PHP基础

类中的$this

通常我们调用类的成员方法时是通过“对象名->方法名()”来调用。但是在定义类的时候,如果想在方法中调用类中的其他方法或属性时,由于类未被实例化,所以此时还不清楚具体的对象名是什么,不能通过使用对象名的方式来进行调用。为了解决上述问题,我们就要用到$this来完成上述操作。

接下来通过代码演示$this的具体使用,具体代码如下所示。

 1  class User
 2  {
 3    public $name = '张三';         // 姓名
 4    protected $phone = '400-123456'; // 电话
 5    private $money = '5000';       // 存款
 6    public function getAll()
 7    {
 8      var_dump($this);
 9      echo $this->name, ' ';
 10     echo $this->phone, ' ';
 11     echo $this->money, ' ';
 12   }
 13 }
 14 $user = new User();
 15 $user->getAll();  // 输出结果:张三 400-123456 5000

在上述代码中,第6~12行定义了getAll()方法,在该方法中使用了特殊变量“$this”,它代表当前对象,用于完成对象内部成员之间的访问。

第8行代码使用var_dump()打印了$this的结果,其结果如下。

object(User)#1(3) {
['name']=>char('张三')
['phone']=>char('400-123456')
['money']=>char('5000')
}

通过打印$this的输出结果可以看出,$this代表的是$user对象。需要注意的是,$this只能在类定义的方法中使用,不能在类外部使用。

点击此处
隐藏目录