toJson 메서드와 jsonSerialize 메서드의 차이점은 무엇입니까?
大家讲道理
大家讲道理 2017-05-16 13:00:38
0
4
754

Illuminate\Support\MessageBag 클래스 메소드를 보면 클래스는 다음과 같습니다:

JsonSerialized를 사용합니다.
Illuminate\Contracts\Support\Jsonable을 사용하세요.
....

MessageBag 클래스는 Jsonable, JsonSerialized...를 구현합니다.

/*
 * 객체를 JSON 표현으로 변환합니다.
 */
공개 함수 toJson($options = 0) {
    return json_encode($this->jsonSerialize(), $options);
}

/*
 *객체를 JSON 직렬화 가능한 것으로 변환합니다.
 */
공개 함수 jsonSerialize() {
    $this->toArray()를 반환합니다.
}

선배님들, toJson 메소드와 jsonSerialize 메소드의 차이점이 무엇인지 알려주세요. 언제 암시적으로 호출되나요?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(4)
Peter_Zhu

문서 참고: http://php.net/manual/zh/json...
코드 업로드:

으아악

JsonSerialized 자체는 특별히 json_encode 직렬화를 제공하며 toJson은 laravel의 Jsonable 메서드일 뿐입니다.

즉, json_encode를 사용하여 이 객체를 직렬화하면 jsonSerialize 메서드가 호출됩니다.

그리고 toJson은 일반적으로 단지 의미를 위해 json_encode 함수를 캡슐화합니다.

phpcn_u1582

이렇게?

으아악
Ty80

제가 잘 몰라서 검색해봤습니다:
http://www.cnblogs.com/gniele...

phpcn_u1582

초대해주셔서 감사합니다!

저는 Larval을 사용해본 적이 없기 때문에 toJson 메소드와 jsonSerialize 메소드의 구체적인 코드를 게시해 주실 수 있나요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿