Jarves\Configuration\Object::getField PHP Méthode

getField() public méthode

public getField ( $fieldId ) : Field
$fieldId
Résultat Field
    public function getField($fieldId)
    {
        if (null !== $this->fields) {
            $id = Tools::camelcase2Underscore($fieldId);
            return isset($this->fields[$id]) ? $this->fields[$id] : null;
        }
    }

Usage Example

Exemple #1
0
 /**
  * prepares $fields. Replace array items which are only a key (with no array definition) with
  * the array definition of the proper field from the object fields.
  *
  * @param array $fields
  */
 public function prepareFieldDefinition(array &$fields)
 {
     for ($i = 0; $i < count($fields); $i++) {
         $key = array_keys($fields)[$i];
         $field = $fields[$key];
         if (is_numeric($key) && !$field instanceof Field) {
             if (!$this->objectDefinition->getField($field)) {
                 throw new \InvalidArgumentException(sprintf('Field %s not found', $field));
             }
             $newItem = clone $this->objectDefinition->getField($field);
             if ($newItem) {
                 $newItem = $newItem->toArray();
             } else {
                 continue;
             }
             if (!isset($newItem['label'])) {
                 $newItem['label'] = $field;
             }
             $fields = array_merge(array_slice($fields, 0, $i), array($field => $newItem), array_slice($fields, $i + 1));
             $i = -1;
         }
     }
     foreach ($fields as $key => &$field) {
         if ($field instanceof Field) {
             continue;
         }
         if (!is_array($field)) {
             continue;
         }
         $fieldName = $key;
         $objectDefinition = $this->objectDefinition;
         if (strpos($key, '.')) {
             list($objectName, $fieldName) = explode('.', $key);
             if (!$objectDefinition->getField($objectName)) {
                 throw new \RuntimeException("Relation `{$objectName}` (`{$key}`) in object {$objectDefinition->getKey()} not found.");
             }
             $foreignObjectName = $objectDefinition->getField($objectName)->getObject();
             $objectDefinition = $this->jarves->getConfigs()->getObject($foreignObjectName);
             if (!$objectDefinition) {
                 throw new \RuntimeException("Object {$foreignObjectName} not found, used in field {$this->objectDefinition->getKey()} {$key}");
             }
         }
         if ($oField = $objectDefinition->getField($fieldName)) {
             $field = array_merge($oField->toArray(), $field);
         }
         if (isset($field['children'])) {
             $this->prepareFieldDefinition($field['children']);
         }
     }
 }
All Usage Examples Of Jarves\Configuration\Object::getField
Object