变量$this在 PHP 中是什么意思?
我一直在PHP中看到这个变量,我不知道它的用途。我从来没有亲自使用过它。$this
有人可以告诉我这个变量在PHP中是如何工作的吗?$this
我一直在PHP中看到这个变量,我不知道它的用途。我从来没有亲自使用过它。$this
有人可以告诉我这个变量在PHP中是如何工作的吗?$this
它是对当前对象的引用,最常用于面向对象的代码中。
例:
<?php
class Person {
public $name;
function __construct( $name ) {
$this->name = $name;
}
};
$jack = new Person('Jack');
echo $jack->name;
这会将“Jack”字符串存储为所创建对象的属性。
$this
print isset($this); //true, $this exists
print gettype($this); //Object, $this is an object
print is_array($this); //false, $this isn't an array
print get_object_vars($this); //true, $this's variables are an array
print is_object($this); //true, $this is still an object
print get_class($this); //YourProject\YourFile\YourClass
print get_parent_class($this); //YourBundle\YourStuff\YourParentClass
print gettype($this->container); //object
print_r($this); //delicious data dump of $this
print $this->yourvariable //access $this variable with ->
因此,伪变量具有当前对象的方法和属性。这样的事情很有用,因为它允许您访问类中的所有成员变量和成员方法。例如:$this
Class Dog{
public $my_member_variable; //member variable
function normal_method_inside_Dog() { //member method
//Assign data to member variable from inside the member method
$this->my_member_variable = "whatever";
//Get data from member variable from inside the member method.
print $this->my_member_variable;
}
}
$this
是对解释器为您创建的 PHP 的引用,其中包含一个变量数组。Object
如果在普通类中的普通方法内部调用,则 返回该方法所属的 Object(类)。$this
$this
如果上下文没有父对象,则可能是未定义的。$this
php.net 有一个很大的页面,讨论PHP面向对象编程以及如何根据上下文的行为。https://www.php.net/manual/en/language.oop5.basic.php$this