$this用于类的非静态方法中指向当前对象,通过$this->可访问属性和方法,如echo $this->name;不能在静态方法或类外部使用。

$this 是 PHP 中一个特殊的变量,它在类的实例方法中使用,用来引用当前对象本身。当你创建一个类的实例(也就是对象)并调用它的方法时,$this 就代表这个具体的对象。
什么时候使用 $this?
在类的内部,如果你想访问当前对象的属性或调用其他方法,就需要使用 $this->属性名 或 $this->方法名()。
例如:
class Person {
public $name = "小明";
public function sayHello() {
echo "你好,我是" . $this->name;
}
}
$person = new Person();
$person->sayHello(); // 输出:你好,我是小明
在这个例子中,$this->name 指的是当前 $person 对象的 name 属性。
$this 只能在类的方法中使用
$this 不能在类外部使用,也不能在静态方法中使用。因为在静态上下文中没有“当前对象”的概念。
立即学习“PHP免费学习笔记(深入)”;
错误示例:
public static function test() {
echo $this->name; // 错误!静态方法中不能使用 $this
}
总结关键点
- $this 只出现在类的非静态方法中
- 它指向调用该方法的具体对象
- 通过 $this-> 可以访问对象的属性和方法
- 不能在静态上下文使用 $this










