类决议怪癖与'工具'

时间:2013-11-26 11:11:59

标签: php php-5.4

有人可以解释以下内容,对我来说似乎是个错误。

<?php

class A implements JsonSerializable {
    public function jsonSerialize() { return []; }
}

new A();
new B();
new C();

class B {}
class C implements JsonSerializable {
    public function jsonSerialize() { return []; }
}

具有以下结果

$ php test.php

Fatal error: Class 'C' not found in test2.php on line 9

2 个答案:

答案 0 :(得分:0)

这很简单,在类定义之后移动实例化。 PHP在第8行找不到任何B类。

答案 1 :(得分:0)

  

应该在实例化之前定义类(在某些情况下,这是一个要求)。

使用工具时,这是一个要求 - 因此没有implements语句就可以工作。