Create a new collection from an array, validate the keys, and add default values where missing
array $config Configuration values to apply.:
array $defaults Default parameters:
array $required Required parameter names:
self
InvalidArgumentException if a parameter is missing
public static function fromConfig(array $config = null, array $defaults = null, array $required = null) {
$collection = new self($defaults);
foreach ((array) $config as $key => $value) {
$collection
->set($key, $value);
}
foreach ((array) $required as $key) {
if ($collection
->hasKey($key) === false) {
throw new InvalidArgumentException("Config must contain a '{$key}' key");
}
}
return $collection;
}