wiki.techinc.nl/includes/Settings/Source/Format/SettingsFormat.php
Derick Alangi 7a37358da5 Settings: Remove unstable markers and mark interfaces appropriately
CachedSource is newable and stable to call while the other interfaces
are now stable to implement.

Change-Id: Ifcb4865691cb7ec308acac2bd3f367b14424a0e1
2022-07-11 13:32:11 +01:00

35 lines
770 B
PHP

<?php
namespace MediaWiki\Settings\Source\Format;
use Stringable;
use UnexpectedValueException;
/**
* A SettingsFormat is meant to detect supported file types and/or decode
* source contents into settings arrays.
*
* @since 1.38
* @stable to implement
*/
interface SettingsFormat extends Stringable {
/**
* Decodes the given settings data and returns an associative array.
*
* @param string $data Settings data.
*
* @return array
* @throws UnexpectedValueException
*/
public function decode( string $data ): array;
/**
* Whether or not the format claims to support a file with the given
* extension.
*
* @param string $ext File extension.
*
* @return bool
*/
public static function supportsFileExtension( string $ext ): bool;
}