background image

PHP 入门:PHP 中 this,self,parent 的区别详解

本文为大家整理介绍了 PHP 中 this,self,parent 的区别,供大家参考下
{一}PHP 中 this,self,parent 的区别之一 this 篇
面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利
用 OOP 的思想进行 PHP 的高级编程,对于提高 PHP 编程能力和规划 web 开发构架都是
很有意义的。
PHP5 经过重写后,对 OOP 的支持额有了很大的飞跃,成为了具备了大部分面向对象语
言的特性的语言,比 PHP4 有了很多的面向对象的特性。这里我主要谈的是 this,self,parent 
三个关键字之间的区别。从字面上来理解,分别是指这、自己、父亲。先初步解释一下,this
是指向当前对象的指针(可以看成 C 里面的指针),self 是指向当前类的指针,parent 是
指向父类的指针。我们这里频繁使用指针来描述,是因为没有更好的语言来表达。关于指
针的概念,大家可以去参考百科。
下面我们就根据实际的例子结合来讲讲。
代码如下::
 
<?php
classname 

//建立了一个名为 name 的类

{

private

$name

//定义属性,私有

//定义构造函数,用于初始化赋值

function

 __construct( 

$name

 )

{

$this

->name =

$name

//这里已经使用了 this 指针语句①

}

//析构函数

function

 __destruct(){}

//打印用户名成员函数

function

 printname()

{

print

$this

->name); 

//再次使用了 this 指针语句②,也可以使用 echo 输出

}
}

$obj1

 = 

new

 name("PBPHome"); 

//

 

实例化对象 语句③

//执行打印

$obj1

->printname(); 

//输出:PBPHome

echo

"<br>"; 

//输出:回车

//第二次实例化对象

$obj2

 = 

new

 name( "PHP" );