列挙型をシリアライズする
列挙型は、オブジェクトとは違う形でシリアライズされます。
具体的には、列挙型には case 名を指定する新しいシリアライズコード
アンシリアライズする際に、
マッチする列挙型と case がシリアライズした値に見つからなかった場合は、
警告が発生し、
unserialize の
Pure Enum を JSON にシリアライズしようとすると、 Error がスローされます。 Backed Enum を JSON にシリアライズしようとすると、 適切な型の、スカラーの値だけが表現されます。 これらの振る舞いは、 JsonSerializable を実装することでオーバーライドできます。 print_r 向けに、 列挙型の case の出力はオブジェクトと少し違う形式になっています。 これは、混乱を最小限に抑えるためです。 |