【发布时间】:2013-11-26 11:11:59
【问题描述】:
有人可以解释以下内容吗,对我来说似乎是一个错误。
<?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
【问题讨论】:
-
新 B();在 B 类之前调用,显然找不到
-
在调用之前定义类?如果引擎不正常强制,那肯定是更好的设计模式。
-
是的,我自己解决了我的问题 - 文档说“应该在实例化之前定义类(在某些情况下这是一个要求)。”我发现的问题是,当我删除了它在定义它之前调用它的 implements 语句=>在某些情况下它是文档的必需部分。