class test1{ public function t1(){
echo "hello world";
}
public function t11(){
$this->t1();
}
}class test2{
function t2(){
test1::t1();
}
function t22(){
test1::t11();
}}
$ts=new test1();
$ts2=new test2();
$ts->t1()."<br>";
$ts->t11()."<br>";$ts2->t2()."<br>";//出错
$ts2->t22()."<br>";//出错
echo "hello world";
}
public function t11(){
$this->t1();
}
}class test2{
function t2(){
test1::t1();
}
function t22(){
test1::t11();
}}
$ts=new test1();
$ts2=new test2();
$ts->t1()."<br>";
$ts->t11()."<br>";$ts2->t2()."<br>";//出错
$ts2->t22()."<br>";//出错
public function t1(){
echo "hello world";
}
public function t11(){
$this->t1();
}
}class test2{
function t2(){
@test1::t1(); //回避错误
}
function t22(){
@test1::t11(); //回避错误
}}
$ts=new test1();
$ts2=new test2();
$ts->t1()."<br>";
$ts->t11()."<br>";$ts2->t2()."<br>";//就不出错了
$ts2->t22()."<br>";//就不出错了但是需要注意的是:自 php5.3 起 php 搞了个所谓的“正规化”,把一个原本简单灵活的类活生生的绑架在 java 这个十字架上!....
这个还是有问题
function t11(){
$this->t1(); 这是动态访问静态访问时,动态成员是无效的所以说 php 把类弄死了,也不是一点道理也没有的
test1::t11();
}public function t11(){
$this->t1();
}
$ts2这个$this指的是class test2,而不是class test1,class test2中没有t1(),当然就出错了。