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

php 继承找不到类的问题?

WBOY
Release: 2016-06-06 20:11:24
Original
1361 people have browsed it

不会报错

<code>    <?php class A extends B{

}
class C{

}
class B extends C{

}
new A();</code></code>
Copy after login
Copy after login

这样也不会报错

<code><?php class A extends B{

}

class B {

}

new A();
</code></code>
Copy after login
Copy after login

当然你这样是不会报错了

<code>    <?php class C{

}
class B extends C{

}
class A extends B{

}

new A();
</code></code>
Copy after login
Copy after login

这样就会报错 Class B Not found

<code><?php class A extends B{

}

class B extends C{

}
class C{

}
new A();
</code></code>
Copy after login
Copy after login

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

回复内容:

不会报错

<code>    <?php class A extends B{

}
class C{

}
class B extends C{

}
new A();</code></code>
Copy after login
Copy after login

这样也不会报错

<code><?php class A extends B{

}

class B {

}

new A();
</code></code>
Copy after login
Copy after login

当然你这样是不会报错了

<code>    <?php class C{

}
class B extends C{

}
class A extends B{

}

new A();
</code></code>
Copy after login
Copy after login

这样就会报错 Class B Not found

<code><?php class A extends B{

}

class B extends C{

}
class C{

}
new A();
</code></code>
Copy after login
Copy after login

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

估计是bug。

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

class B extends C{
}</code></code>
Copy after login

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

可以参考以下代码

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

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

Related labels:
php
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template