__toString()
实现将实例强制转换为字符串(
Stringable
接口)。它与
Serializable
。
class MediaUid implements Stringable
{
public function __toString(): string
{
return json_encode(['val' => $this->val]);
}
}
$mediaUid = new MediaUid('abcdef');
echo $mediaUid;
$bson = (string) $mediaUid;
给你绳子
{"val":"abcdef"}
更好的选择是实施
JsonSerializable
。这样可以更好地封装数据,并且您明确表示您想要一个JSON,无论它存储在里面是什么。
class MediaUid implements JsonSerializable
{
public function jsonSerialize()
{
return ['val' => $this->val];
}
}
$mediaUid = new MediaUid('abcdef');
echo json_encode($mediaUid);