$this用于类内部引用当前对象实例,访问属性或方法需用$this->属性名或$this->方法名();2. $this只能在非静态方法中使用,静态方法中会报错;3. 每个new创建的对象独立,$this确保操作对应实例的数据。

$this 是 PHP 中一个特殊的变量,用于在类的内部引用当前创建的对象实例。简单来说,它代表“这个对象”自己。
什么时候使用 $this?
当你在类的方法中需要访问该类的属性或调用其他方法时,就要使用 $this。
- 访问当前对象的属性:使用 $this->属性名
- 调用当前对象的其他方法:使用 $this->方法名()
class Person {
public $name;
public function setName($name) {
$this->name = $name; // 使用 $this 给当前对象的 name 属性赋值
}
public function getName() {
return $this->name; // 使用 $this 获取当前对象的 name 属性
}
public function introduce() {
echo "我是 " . $this->getName(); // 调用当前对象的其他方法
}
}
$person = new Person();
$person->setName("小明");
$person->introduce(); // 输出:我是 小明
$this 只能在类的内部使用
$this 不能在类外部使用,也不能在静态方法中使用(因为静态方法不依赖对象实例)。
- 如果在静态方法里使用 $this,PHP 会报错:Using $this when not in object context
- 正确做法是:静态方法使用 self:: 或 static:: 来调用静态成员
理解 $this 的关键点
每次用 new 创建一个对象,这个对象就有一个独立的身份。$this 让类中的代码知道“现在操作的是哪一个对象”。
立即学习“PHP免费学习笔记(深入)”;
- 多个对象互不影响:每个对象有自己的属性值,$this 指向各自实例
- 方法复用:同样的方法,通过 $this 操作不同的对象数据











