[field name1 => value1, ...], ...] */ class AdditionalFieldsProvider implements AdditionalFieldsProviderInterface { /** * @var AdditionalFieldsProviderInterface[] */ private $fieldsProviders; /** * @param AdditionalFieldsProviderInterface[] $fieldsProviders */ public function __construct(array $fieldsProviders) { $this->fieldsProviders = $fieldsProviders; } /** * {@inheritdoc} */ public function getFields(array $productIds, $storeId) { $fields = []; foreach ($this->fieldsProviders as $fieldsProvider) { $fields[] = $fieldsProvider->getFields($productIds, $storeId); } return array_replace_recursive(...$fields); } }