0
누군가 다음과 같은 설명을 할 수 있습니까? 버그입니다.'implements'를 사용하는 클래스 해상도 quirk
<?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
new B(); 클래스 B 이전에 호출되었고 분명히 찾을 수 없습니다. –
클래스를 호출하기 전에 정의 할 수 있습니까? 엔진이 정상적으로 작동하지 않으면 확실히 더 나은 디자인 패턴입니다. – LuckySpoon
그래, 내 질문을 직접 해결했습니다 - 설명서는 "클래스는 인스턴스화 전에 정의되어야하며 어떤 경우에는 필수 사항입니다."라고 말합니다. 필자가 발견 한 문제는 정의하기 전에 호출하는 implements 문을 제거했을 때입니다.> 일부 사례는 문서의 필수 부분이었습니다. –