1*c3437056SNickeau<?php 2*c3437056SNickeau 3*c3437056SNickeau 4*c3437056SNickeaunamespace ComboStrap; 5*c3437056SNickeau 6*c3437056SNickeau/** 7*c3437056SNickeau * Class MetadataFormStore 8*c3437056SNickeau * @package ComboStrap 9*c3437056SNickeau * Represents a data array of a post from an HTML form 10*c3437056SNickeau * ie formData 11*c3437056SNickeau */ 12*c3437056SNickeauclass MetadataFormDataStore extends MetadataSingleArrayStore 13*c3437056SNickeau{ 14*c3437056SNickeau 15*c3437056SNickeau 16*c3437056SNickeau public static function getOrCreateFromResource(ResourceCombo $resourceCombo, array $formData = []): MetadataStore 17*c3437056SNickeau { 18*c3437056SNickeau return new MetadataFormDataStore($resourceCombo, $formData); 19*c3437056SNickeau } 20*c3437056SNickeau 21*c3437056SNickeau 22*c3437056SNickeau public function get(Metadata $metadata, $default = null) 23*c3437056SNickeau { 24*c3437056SNickeau $this->checkResource($metadata->getResource()); 25*c3437056SNickeau /** 26*c3437056SNickeau * In a form, the name is send, not the {@link Metadata::getPersistentName()} 27*c3437056SNickeau */ 28*c3437056SNickeau $value = $this->data[$metadata::getName()]; 29*c3437056SNickeau if ($value !== null) { 30*c3437056SNickeau return $value; 31*c3437056SNickeau } 32*c3437056SNickeau return $default; 33*c3437056SNickeau } 34*c3437056SNickeau 35*c3437056SNickeau 36*c3437056SNickeau} 37