コード例 #1
0
 function it_does_not_include_the_provided_serializer_when_finding_nested_serializers(Serializer $bookSerializer, Serializer $authorSerializer)
 {
     $bookSerializer->getName()->willReturn('book');
     $this->register($bookSerializer);
     $authorSerializer->getName()->willReturn('author');
     $this->register($authorSerializer);
     $bookSerializer->getIncludes()->willReturn(['author']);
     $authorSerializer->getIncludes()->willReturn(['book']);
     $this->resolveNestedSerializers($bookSerializer)->shouldNotContain($bookSerializer);
 }
コード例 #2
0
 public function resolveNestedSerializers(Serializer $serializer, array &$serializers = [], $rootName = null)
 {
     $rootName = $rootName ?: $serializer->getName();
     foreach ($serializer->getIncludes() as $name) {
         if (isset($serializers[$name]) || $name === $rootName) {
             continue;
         }
         $serializers[$name] = $this->getSerializer($name);
         $this->resolveNestedSerializers($serializers[$name], $serializers, $rootName);
     }
     return $serializers;
 }
コード例 #3
0
 function it_returns_the_name_from_the_serializer(Serializer $serializer)
 {
     $serializer->getName()->willReturn('book');
     $this->getKey()->shouldReturn('book');
 }