Home  >  Article  >  Backend Development  >  php 继承找不到类的问题?

php 继承找不到类的问题?

WBOY
WBOYOriginal
2016-06-06 20:11:241316browse

不会报错

<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没价值。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn