mautic / app /bundles /CoreBundle /Event /ComponentValidationTrait.php
chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
raw
history blame contribute delete
978 Bytes
<?php
namespace Mautic\CoreBundle\Event;
use Mautic\CoreBundle\Exception\BadConfigurationException;
trait ComponentValidationTrait
{
private function verifyComponent(array $keys, array $component, array $callbacks = []): void
{
foreach ($keys as $k) {
if (is_array($k)) {
// Check that at least one option exists
if (empty(array_intersect($k, array_keys($component)))) {
throw new BadConfigurationException("At least one of the following keys are required: '".implode(', ', $k));
}
} elseif (!array_key_exists($k, $component)) {
throw new BadConfigurationException("The key, '$k' is missing.");
}
}
foreach ($callbacks as $m) {
if (isset($component[$m]) && !is_callable($component[$m])) {
throw new BadConfigurationException($component[$m].' is not callable.');
}
}
}
}