深入php self与$this的详解
先谈parent与self:
<?php
/*
* Created by YinYiNiao
*/
class A{
function __construct(){
echo "基类A的构造方法<br />";
}
}
class B extends A{
function __construct(){
parent::__construct();
echo "子类B的构造方法<br />";
self::myFun();
}
function myfun(){
echo "一个普通方法myFun()<br />";
}
}
$obj=new A();
$obj=new B();
?>
self与$this的功能极其相似,但二者又不相同。$this不能引用静态成员和常量。self更像类本事,而$this更像是实例本身。
复制代码 代码如下:
<?php
/*
* Created by YinYiNiao
*/
class A{
function __construct(){
echo "基类A的构造方法<br />";
}
}
class B extends A{
function __construct(){
parent::__construct();
echo "子类B的构造方法<br />";
self::myFun();
}
function myfun(){
echo "一个普通方法myFun()<br />";
}
}
$obj=new A();
$obj=new B();
?>
self与$this的功能极其相似,但二者又不相同。$this不能引用静态成员和常量。self更像类本事,而$this更像是实例本身。