Home >Backend Development >PHP Tutorial >Revealing the secrets of using PHP constructor_PHP tutorial
After a long period of development of PHP, many users know PHP very well. Here I will express my personal understanding and discuss it with everyone. Most classes have a special method called a constructor. When an object is created, it will automatically call the PHP constructor, that is, the constructor method will be automatically called when the new keyword is used to instantiate the object.
<ol class="dp-xml"> <li class="alt"><span><span>//创建一个人类 </span></span></li> <li class=""><span> </span></li> <li class="alt"><span>0class Person </span></li> <li class=""><span>0{ </span></li> <li class="alt"><span>//下面是人的成员属性 </span></li> <li class=""><span>var $name; //人的名子 </span></li> <li class="alt"><span>var $sex; //人的性别 </span></li> <li class=""><span>var $age; //人的年龄 </span></li> <li class="alt"><span>//定义一个构造方法参数为姓名$name、性别$sex和年龄$age </span></li> <li class=""><span>function __construct($name, $sex, $age) </span></li> <li class="alt"><span>{ </span></li> <li class=""> <span>//通过构造方法传进来的$name给成员属性$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>name赋初使值 </span> </li> <li class="alt"> <span>$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span class="attribute"><font color="#ff0000">name</font></span><span>=$name; </span> </li> <li class=""> <span>//通过构造方法传进来的$sex给成员属性$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>sex赋初使值 </span> </li> <li class="alt"> <span>$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span class="attribute"><font color="#ff0000">sex</font></span><span>=$sex; </span> </li> <li class=""> <span>//通过构造方法传进来的$age给成员属性$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>age赋初使值 </span> </li> <li class="alt"> <span>$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span class="attribute"><font color="#ff0000">age</font></span><span>=$age; </span> </li> <li class=""><span>} </span></li> <li class="alt"><span>//这个人的说话方法 </span></li> <li class=""><span>function say() </span></li> <li class="alt"><span>{ </span></li> <li class=""> <span>echo "我的名子叫:".$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>name." 性别:".$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>sex." 我的年龄是:".$this-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>age."</span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span></font></strong><span>"; </span> </li> <li class="alt"><span>} </span></li> <li class=""><span>} </span></li> <li class="alt"><span>//通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄 </span></li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">p1</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">new</font></span><span> Person("张三","男", 20); </span> </li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">p2</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">new</font></span><span> Person("李四","女", 30); </span> </li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">p3</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">new</font></span><span> Person("王五","男", 40); </span> </li> <li class="alt"><span>//下面访问$p1对象中的说话方法 </span></li> <li class=""> <span>$p1-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>say(); </span> </li> <li class="alt"><span>//下面访问$p2对象中的说话方法 </span></li> <li class=""> <span>$p2-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>say(); </span> </li> <li class="alt"><span>//下面访问$p3对象中的说话方法 </span></li> <li class=""> <span>$p3-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>say(); </span> </li> </ol>
The output result is:
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