/**
  * @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);
 }
Esempio n. 3
0
 public function testSerializationOfAnArrayOfScalars()
 {
     $scalar = 'a string';
     $serializer = new Serializer(new \NilPortugues\Serializer\Strategy\JsonStrategy());
     $serialized = $serializer->serialize($scalar);
     $this->assertEquals($scalar, $serializer->unserialize($serialized));
 }