Joli\Jane\Guesser\ChainGuesser::guessType PHP Method

guessType() public method

{@inheritDoc}
public guessType ( $object, $name, $classes )
    public function guessType($object, $name, $classes)
    {
        $type = null;
        foreach ($this->guessers as $guesser) {
            if (!$guesser instanceof TypeGuesserInterface) {
                continue;
            }
            if ($guesser->supportObject($object)) {
                return $guesser->guessType($object, $name, $classes);
            }
        }
        if ($type === null) {
            return new Type($object, 'mixed');
        }
        return $type;
    }

Usage Example

 /**
  * Return a list of class guessed
  *
  * @param string $openApiSpec
  * @param string $name
  * @param string $namespace
  * @param string $directory
  *
  * @return Context
  */
 public function createContext($openApiSpec, $name, $namespace, $directory)
 {
     $schema = $this->serializer->deserialize(file_get_contents($openApiSpec), 'Joli\\Jane\\OpenApi\\Model\\OpenApi', 'json');
     $classes = $this->chainGuesser->guessClass($schema, $name);
     foreach ($classes as $class) {
         $properties = $this->chainGuesser->guessProperties($class->getObject(), $name, $classes);
         foreach ($properties as $property) {
             $property->setType($this->chainGuesser->guessType($property->getObject(), $property->getName(), $classes));
         }
         $class->setProperties($properties);
     }
     return new Context($schema, $namespace, $directory, $classes);
 }
All Usage Examples Of Joli\Jane\Guesser\ChainGuesser::guessType