/** * @param Serializer $serializer * @param SplFixedArray $splFixedArray * * @return array */ public static function serialize(Serializer $serializer, SplFixedArray $splFixedArray) { $toArray = [Serializer::CLASS_IDENTIFIER_KEY => get_class($splFixedArray), Serializer::CLASS_PARENT_KEY => 'SplFixedArray', Serializer::SCALAR_VALUE => []]; foreach ($splFixedArray->toArray() as $key => $field) { $toArray[Serializer::SCALAR_VALUE][$key] = $serializer->serialize($field); } return $toArray; }
/** * @param $value * * @return array */ protected function flattenObject($value) : array { $result = $this->serializer->serialize($value); return array_map(function ($v) { if ($v === true || $v === false) { return $v ? 1 : 0; } return $v; }, $result); }
public function testSerializationOfAnArrayOfScalars() { $scalar = 'a string'; $serializer = new Serializer(new \NilPortugues\Serializer\Strategy\JsonStrategy()); $serialized = $serializer->serialize($scalar); $this->assertEquals($scalar, $serializer->unserialize($serialized)); }