Joli\Jane\Reference\Resolver::resolve PHP Method

resolve() public method

Resolve a JSON Reference for a Schema
public resolve ( Joli\Jane\Runtime\Reference $reference ) : mixed
$reference Joli\Jane\Runtime\Reference
return mixed Return the json value (deserialized) referenced
    public function resolve(Reference $reference)
    {
        if ($reference->getResolved() === null) {
            $reference->setResolved($this->doResolve($reference));
        }
        return $reference->getResolved();
    }

Usage Example

Beispiel #1
0
 /**
  * {@inheritDoc}
  */
 public function guessType($object, $name, $classes)
 {
     $discriminants = [];
     $required = $object->getRequired() ?: [];
     foreach ($object->getProperties() as $key => $property) {
         if (!in_array($key, $required)) {
             continue;
         }
         if ($property instanceof Reference) {
             $property = $this->resolver->resolve($property);
         }
         if ($property->getEnum() !== null) {
             $isSimple = true;
             foreach ($property->getEnum() as $value) {
                 if (is_array($value) || is_object($value)) {
                     $isSimple = false;
                 }
             }
             if ($isSimple) {
                 $discriminants[$key] = $property->getEnum();
             }
         } else {
             $discriminants[$key] = null;
         }
     }
     return new ObjectType($object, $this->naming->getClassName($name), $discriminants);
 }
All Usage Examples Of Joli\Jane\Reference\Resolver::resolve