
| Current Path : /var/www/html/ift/vendor/consolidation/output-formatters/src/StructuredData/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/ift/vendor/consolidation/output-formatters/src/StructuredData/FieldProcessor.php |
<?php
namespace Consolidation\OutputFormatters\StructuredData;
use Consolidation\OutputFormatters\Options\FormatterOptions;
use Consolidation\OutputFormatters\StructuredData\RestructureInterface;
use Consolidation\OutputFormatters\Transformations\UnstructuredDataListTransformation;
/**
* FieldProcessor will do various alterations on field sets.
*/
class FieldProcessor
{
public static function processFieldAliases($fields)
{
if (!is_array($fields)) {
$fields = array_filter(explode(',', $fields));
}
$transformed_fields = [];
foreach ($fields as $field) {
list($machine_name,$label) = explode(' as ', $field) + [$field, preg_replace('#.*\.#', '', $field)];
$transformed_fields[$machine_name] = $label;
}
return $transformed_fields;
}
/**
* Determine whether the data structure has unstructured field access,
* e.g. `a.b.c` or `foo as bar`.
* @param type $fields
* @return type
*/
public static function hasUnstructuredFieldAccess($fields)
{
if (is_array($fields)) {
$fields = implode(',', $fields);
}
return (strpos($fields, ' as ') !== false) || (strpos($fields, '.') !== false);
}
}