Joli\Jane\Guesser\JsonSchema\JsonSchemaGuesserFactory::create PHP Method

create() public static method

public static create ( Symfony\Component\Serializer\SerializerInterface $serializer, array $options = [] )
$serializer Symfony\Component\Serializer\SerializerInterface
$options array
    public static function create(SerializerInterface $serializer, array $options = [])
    {
        $chainGuesser = ChainGuesserFactory::create($serializer);
        $naming = new Naming();
        $merger = new JsonSchemaMerger();
        $resolver = new Resolver($serializer);
        $dateFormat = isset($options['date-format']) ? $options['date-format'] : \DateTime::RFC3339;
        $chainGuesser->addGuesser(new DateTimeGuesser($dateFormat));
        $chainGuesser->addGuesser(new SimpleTypeGuesser());
        $chainGuesser->addGuesser(new ArrayGuesser());
        $chainGuesser->addGuesser(new MultipleGuesser());
        $chainGuesser->addGuesser(new ObjectGuesser($naming, $resolver));
        $chainGuesser->addGuesser(new DefinitionGuesser());
        $chainGuesser->addGuesser(new ItemsGuesser());
        $chainGuesser->addGuesser(new AnyOfGuesser());
        $chainGuesser->addGuesser(new AllOfGuesser($resolver));
        $chainGuesser->addGuesser(new OneOfGuesser());
        $chainGuesser->addGuesser(new ObjectOneOfGuesser($merger, $resolver));
        $chainGuesser->addGuesser(new PatternPropertiesGuesser());
        $chainGuesser->addGuesser(new AdditionalItemsGuesser());
        $chainGuesser->addGuesser(new AdditionalPropertiesGuesser());
        return $chainGuesser;
    }

Usage Example

Esempio n. 1
0
 public static function build($options = [])
 {
     $serializer = self::buildSerializer();
     $chainGuesser = JsonSchemaGuesserFactory::create($serializer, $options);
     $naming = new Naming();
     $modelGenerator = new ModelGenerator($naming, $chainGuesser, $chainGuesser);
     $normGenerator = new NormalizerGenerator($naming, isset($options['reference']) ? $options['reference'] : true);
     return new self($serializer, $chainGuesser, $modelGenerator, $normGenerator);
 }
All Usage Examples Of Joli\Jane\Guesser\JsonSchema\JsonSchemaGuesserFactory::create
JsonSchemaGuesserFactory