Heim  >  Artikel  >  Backend-Entwicklung  >  php 继承找不到类的问题?

php 继承找不到类的问题?

WBOY
WBOYOriginal
2016-06-06 20:11:241314Durchsuche

不会报错

<code>    <?php class A extends B{

}
class C{

}
class B extends C{

}
new A();</code></code>

这样也不会报错

<code><?php class A extends B{

}

class B {

}

new A();
</code></code>

当然你这样是不会报错了

<code>    <?php class C{

}
class B extends C{

}
class A extends B{

}

new A();
</code></code>

这样就会报错 Class B Not found

<code><?php class A extends B{

}

class B extends C{

}
class C{

}
new A();
</code></code>

这是我在手册上看一个歪果仁写的一段 真是醉了 为什么

回复内容:

不会报错

<code>    <?php class A extends B{

}
class C{

}
class B extends C{

}
new A();</code></code>

这样也不会报错

<code><?php class A extends B{

}

class B {

}

new A();
</code></code>

当然你这样是不会报错了

<code>    <?php class C{

}
class B extends C{

}
class A extends B{

}

new A();
</code></code>

这样就会报错 Class B Not found

<code><?php class A extends B{

}

class B extends C{

}
class C{

}
new A();
</code></code>

这是我在手册上看一个歪果仁写的一段 真是醉了 为什么

估计是bug。

<code><?php class A extends B{
}

class B extends C{
}</code></code>

后面写不写都一样了,测试结果就是A找B,发现B依赖C,然后C不存在就直接报错而没有继续尝试查找声明。

可以参考以下代码

<code><?php class C extends D{
}
class A extends B{
}
class B extends C{
}
class D{}</code></code>

还是会报B找不到,虽然C已经正确声明了。
该bug可以描述为在单文件中声明多个class时无法很好的处理class之间的继承,但是这种bug没价值。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn