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

我在看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 학습자의 빠른 성장을 도와주세요!