php - toJson方法和jsonSerialize方法的区别?
大家讲道理
大家讲道理 2017-05-16 13:00:38
0
4
714

我在看 Illuminate\Support\MessageBag类方法时,类是这样的:

use JsonSerializable;
use Illuminate\Contracts\Support\Jsonable;
....

class MessageBag implements Jsonable, JsonSerializable...

/*
 * Convert the object to its JSON representation.
 */
public function toJson ($options = 0) {
    return json_encode($this->jsonSerialize(), $options);
}

/*
 *Convert the object into something JSON serializable.
 */
public function jsonSerialize() {
    return $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 메소드의 구체적인 코드를 게시해 주실 수 있나요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!