25 lines
795 B
PHP
25 lines
795 B
PHP
<?php
|
|
|
|
class stConfigHelper
|
|
{
|
|
/**
|
|
* Merguje opcje konfiguracyjne (w przypadku wykrycia nieistniejącej opcji wyrzuca wyjątek)
|
|
*
|
|
* @param array $options Opcje
|
|
* @param array $defaultOptions Domyslne wartości dla opcji
|
|
* @return array
|
|
* @throws stConfigException
|
|
*/
|
|
public static function mergeOptions(array $options, array $defaultOptions)
|
|
{
|
|
$diff = array_diff_key($options, $defaultOptions);
|
|
|
|
if (!empty($diff))
|
|
{
|
|
$available = implode('", "', array_keys($defaultOptions));
|
|
throw new stConfigException(sprintf('The option "%s" do not exist. Available options: "%s"', implode('", "', array_keys($diff)), $available));
|
|
}
|
|
|
|
return array_replace($defaultOptions, $options);
|
|
}
|
|
} |