PHP中的variables$是什么意思?
我总是看到PHP中的variables$this
,我不知道它是用来做什么的。 我从来没有亲自使用它,search引擎忽略$
,我最终search单词“这个”。
有人能告诉我如何variables$这在PHP中工作?
这是对当前对象的引用,它在面向对象的代码中最常用。
- 参考: http : //www.php.net/manual/en/language.oop5.basic.php
- 入门: http : //www.phpro.org/tutorials/Object-Oriented-Programming-with-PHP.html
例:
<?php class Person { public $name; function __construct( $name ) { $this->name = $name; } }; $jack = new Person('Jack'); echo $jack->name;
这将“Jack”string存储为创build的对象的属性。
在php中学习$this
variables的最好方法是问PHP是什么。 不要问我们,问编译器:
print gettype($this); //object print get_object_vars($this); //Array print is_array($this); //false print is_object($this); //true print_r($this); //dump of the objects inside it print count($this); //true print get_class($this); //YourProject\YourFile\YourClass print isset($this); //true print get_parent_class($this); //YourBundle\YourStuff\YourParentClass print gettype($this->container); //object
我知道它的老问题,无论如何,另一个确切的解释$ this 。 $这主要是用来引用一个类的属性。
例:
Class A { $myname; //this is a member variable of this class function callme(){ $myname='function variable'; $this->myname='Member variable'; echo $myname; //prints function variable echo $this->myname; //prints member variable } }
输出:
function variable member variable
这是从本身内部引用一个类的实例的方式,就像其他许多面向对象的语言一样。
从PHP文档 :
在从对象上下文中调用方法时,伪variables$ this是可用的。 $这是对调用对象的引用(通常是该方法所属的对象,但是如果该方法是从次级对象的上下文静态调用的,可能是另一个对象)。
让我们看看会发生什么,如果我们不使用$ this并尝试使用下面的代码片段使用相同名称的实例variables和构造函数参数
<?php class Student { public $name; function __construct( $name ) { $name = $name; } }; $tom = new Student('Tom'); echo $tom->name; ?>
它只是回声
<?php class Student { public $name; function __construct( $name ) { $this->name = $name; // Using 'this' to access the student's name } }; $tom = new Student('Tom'); echo $tom->name; ?>
这个回声“汤姆”
当你创build一个类时(在许多情况下)实例variables和方法(又名。函数)。 $访问这些实例variables,以便你的函数可以接受这些variables,并做他们需要做的任何事情。
另一个版本的meder的例子:
class Person { protected $name; //can't be accessed from outside the class public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } // this line creates an instance of the class Person setting "Jack" as $name. // __construct() gets executed when you declare it within the class. $jack = new Person("Jack"); echo $jack->getName(); Output: Jack
$这是一个特殊的variables,它指的是同一个对象即。 本身。
它实际上是指当前类的实例
这里是一个将清除上述说明的例子
<?php class Books { /* Member variables */ var $price; var $title; /* Member functions */ function setPrice($par){ $this->price = $par; } function getPrice(){ echo $this->price ."<br/>"; } function setTitle($par){ $this->title = $par; } function getTitle(){ echo $this->title ." <br/>"; } } ?>
$this
是对调用对象的引用 (通常是该方法所属的对象,但是如果该方法是从次级对象的上下文静态调用的,可能是另一个对象)。
正如Meder所说,它指的是当前阶级的实例。
查看PHP文档 。 这是在第一个例子下解释的。