Dumplie\Metadata\Schema\TypeSchema::getDefinitions PHP Method

getDefinitions() public method

public getDefinitions ( array $excluded = [] ) : array
$excluded array
return array
    public function getDefinitions(array $excluded = []) : array
    {
        $definitions = [];
        foreach ($this->definitions as $name => $definition) {
            if (!in_array($name, $excluded, true)) {
                $definitions[$name] = $definition;
            }
        }
        return $definitions;
    }

Usage Example

Example #1
0
 /**
  * @param TypeSchema $type
  * @param array      $data
  *
  * @return Metadata
  * @throws HydrationException
  */
 public function hydrate(TypeSchema $type, array $data = []) : Metadata
 {
     if (!array_key_exists('id', $data)) {
         throw HydrationException::missingId();
     }
     $id = new MetadataId($data['id']);
     unset($data['id']);
     $fieldValues = [];
     foreach ($data as $key => $value) {
         $field = $type->getFieldDefinition($key);
         $value = $field->deserialize($value);
         if ($value instanceof Association) {
             $value = $this->associate($value);
         }
         $fieldValues[$key] = $value;
     }
     foreach ($type->getDefinitions(array_keys($data)) as $key => $field) {
         $fieldValues[$key] = $field->defaultValue();
     }
     return new Metadata($id, $type->name(), $fieldValues);
 }
All Usage Examples Of Dumplie\Metadata\Schema\TypeSchema::getDefinitions