toJsonメソッドとjsonSerializeメソッドの違いは?
大家讲道理
大家讲道理 2017-05-16 13:00:38
0
4
728

Illuminate\Support\MessageBag クラスのメソッドを見ると、クラスは次のようになります。

JsonSerializable を使用します。
Illuminate\Contracts\Support\Jsonable を使用します。
....

クラス MessageBag は Jsonable、JsonSerializable を実装します...

/*
 * オブジェクトを JSON 表現に変換します。
 */
パブリック関数 toJson ($options = 0) {
    return json_encode($this->jsonSerialize(), $options);
}

/*
 *オブジェクトをJSONシリアル化可能なものに変換します。
 */
パブリック関数 jsonSerialize() {
    return $this->toArray();
}

先輩方、toJsonメソッドとjsonSerializeメソッドの違いを教えてください。いつ暗黙的に呼び出されますか?

大家讲道理
大家讲道理

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

全員に返信(4)
Peter_Zhu

ドキュメントを参照してください: http://php.net/manual/zh/json...
コードをアップロードしてください:

リーリー

JsonSerializable 自体は特に json_encode シリアル化を提供し、toJson は単なる laravel の Jsonable メソッドです。

言い換えると、json_encode を使用してこのオブジェクトをシリアル化すると、jsonSerialize メソッドが呼び出されます。

そして、toJson は通常、セマンティクスのためだけに json_encode 関数をカプセル化するだけです。

いいねを押す +0
phpcn_u1582

これが好きですか?

リーリー
いいねを押す +0
Ty80

あまり詳しくないので調べてみました:
http://www.cnblogs.com/gniele...

いいねを押す +0
phpcn_u1582

ご招待ありがとうございます!

larvalを使ったことがないので、toJsonメソッドとjsonSerializeメソッドの具体的なコードを投稿していただけませんか

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート