Home >Backend Development >PHP Tutorial >PHP object-oriented guide (3) Use of special reference '$this'_PHP tutorial

PHP object-oriented guide (3) Use of special reference '$this'_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:44:08804browse

7. The use of special reference "$this"
Now we know how to access members in the object, which is accessed through "Object->Members", which is in the

🎜>The form of accessing the members of the object from outside the object, then if I want to let the methods in the object access the properties of this object
from inside the object, or the methods in the object call other methods of this object What should we do at this time? Because all
members in the object must be called using objects, including calls between internal members of the object, I was provided with
a reference to this object, $this, for each object in PHP. There is an object reference $this in it to represent the object and complete the call of the internal members of the object
. The original meaning of this is "this". In the above example, we instantiate three instances of the
object $ P1, $P2, $P3, there is one $this in each of these three objects, representing the objects $p1, $p2, $p3 respectively.
We can see from the above figure that $this is the reference that represents the object inside the object. The method used to call members of this object inside the object is the same as the method used to call members of the object outside the object.
$this->Properties$this->name; $this->age; $this->sex;
$this->Methods$this->say(); $this ->run();
Modify the above example so that everyone says their name, gender and age:
Code snippet

Copy code The code is as follows:

class Person{
//The following are the member attributes of the person
var $name; //The person’s name
var $sex; //Person’s gender
var $age; //Person’s age
//Here are the member methods of the person
function say(){//This person can speak Method
echo "My name is: ".$this->name." Gender: ".$this->sex." My age is: ".$this->age."< br>";
}
function run(){ //How this person can walk
echo "This person is walking";
}
}
$p1=new Person(); //Create instance object $p1
$p2=new Person(); //Create instance object $p2
$p3=new Person(); //Create instance object $p3
//The following three lines assign values ​​to the $p1 object attributes
$p1->name="Zhang San";
$p1->sex="Male";
$p1->age =20;
//The following is to access the speaking method in the $p1 object
$p1->say();
//The following three lines are to assign values ​​to the properties of the $p2 object
$p2- >name="李思";
$p2->sex="female";
$p2->age=30;
//The following accesses the speaking method in the $p2 object
$p2->say();
//The following three lines are to assign values ​​to the $p3 object attributes
$p3->name="王五";
$p3->sex ="Male";
$p3->age=40;
//The following accesses the speaking method in the $p3 object
$p3->say();
?>

Output result
My name is: Zhang San Gender: Male My age is: 20
My name is: Li Si Gender: Female My age is: 30
My name is: Wang Wu Gender: Male My age is: 40
Analyze this method:
Code snippet
function say(){ //How this person can speak
echo "My name is: ".$this->name." Gender: ".$this->sex." My age is: ".$this->age."
";
}
There is a say() method in the three objects $p1, $p2 and $p3. $this represents these three objects respectively. Call the corresponding attributes and print out the values ​​of the attributes. This is To access object properties within an object, if you call the run() method in the say() method, it is also possible to use $this->run() in the say() method. to complete the call.

http://www.bkjia.com/PHPjc/320653.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/320653.htmlTechArticle7. The use of special reference "$this" Now we know how to access members in the object, through It is accessed in the "object-member" way, which is to access the object from outside the object...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn