2
new A;

class A {}

new C;

class C extends A {}

new B;

class B implements iB {}
interface iB {} // we can even put interface definition after the class
                // that implements it

我希望这段代码可以正常工作,而我得到

PHP致命错误:在...中找不到类'B'

有人可以解释为什么会这样吗?这是记录在案的行为吗?

PS:php 5.3.2

PPS:ideone 上的相同行为:http: //ideone.com/q4cT6A

4

1 回答 1

1

这与PHP中的预期一致。对不起,我也期待过一次。;)

引用PHP 文档

除非使用自动加载,否则必须在使用类之前定义类。如果一个类扩展了另一个类,则必须在子类结构之前声明父类。此规则适用于继承其他类和接口的类。

于 2013-04-03T00:25:14.980 回答