wiki.techinc.nl/includes/Settings/Config/ConfigSchema.php
daniel 7f8e3c5360 Docs: remove references to DefaultSettings.php
Bug: T300129
Change-Id: I1e83a0dde6235bed91d28d7d43691c6a5d979f2f
2022-05-30 21:27:09 +02:00

65 lines
1.3 KiB
PHP

<?php
namespace MediaWiki\Settings\Config;
use MediaWiki\Settings\SettingsBuilderException;
/**
* Represents a config schema.
*
* @since 1.39
*/
interface ConfigSchema {
/**
* Get a list of all defined keys
*
* @return string[]
*/
public function getDefinedKeys(): array;
/**
* Check whether schema for $key is defined.
*
* @param string $key
*
* @return bool
*/
public function hasSchemaFor( string $key ): bool;
/**
* Get all defined default values.
*
* @return array<string,mixed> An associative array mapping setting names
* to their respective default values.
*/
public function getDefaults(): array;
/**
* Check if the $key has a default value set in the schema.
*
* @param string $key
*
* @return bool
*/
public function hasDefaultFor( string $key ): bool;
/**
* Get the default value for the $key.
* For keys that do not define a default, null is assumed.
*
* @param string $key
*
* @return mixed
*/
public function getDefaultFor( string $key );
/**
* Get the merge strategy defined for the $key, or null if none defined.
*
* @param string $key
*
* @return MergeStrategy|null
* @throws SettingsBuilderException if merge strategy name is invalid.
*/
public function getMergeStrategyFor( string $key ): ?MergeStrategy;
}