我在看 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方法的区别是什么呢?什么时候会隐式调用呢?
Référez-vous au document : http://php.net/manual/zh/json...
Téléchargez le code :
JsonSerializing lui-même sert spécifiquement la sérialisation json_encode, et toJson n'est que la méthode Jsonable de laravel.
En d'autres termes, lorsque vous utilisez json_encode pour sérialiser cet objet, la méthode jsonSerialize sera appelée.
Et votre toJson encapsule généralement simplement la fonction json_encode, juste pour la sémantique.
Vous aimez ça ?
Je n'y connais pas grand chose, alors je l'ai cherché pour vous :
http://www.cnblogs.com/gniele...
Merci pour l'invitation !
Parce que je n'ai jamais utilisé larval, pouvez-vous poster le code spécifique de la méthode toJson et de la méthode jsonSerialize