diff options
author | Mario <mario@mariovavti.com> | 2023-03-08 10:04:29 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2023-03-08 10:04:29 +0000 |
commit | 234bb6425021b72f0db71667191b2c36dc593791 (patch) | |
tree | 2966d68516cebae70d4a75aace9962a809532339 /vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php | |
parent | d43a56614cd93982d19f4f82aae6e62f9ca533a9 (diff) | |
download | volse-hubzilla-234bb6425021b72f0db71667191b2c36dc593791.tar.gz volse-hubzilla-234bb6425021b72f0db71667191b2c36dc593791.tar.bz2 volse-hubzilla-234bb6425021b72f0db71667191b2c36dc593791.zip |
port totp mfa from streams with some adjustions
Diffstat (limited to 'vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php')
-rw-r--r-- | vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php new file mode 100644 index 000000000..ddacccd29 --- /dev/null +++ b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php @@ -0,0 +1,74 @@ +<?php +/** + * Interface SettingsContainerInterface + * + * @created 28.08.2018 + * @author Smiley <smiley@chillerlan.net> + * @copyright 2018 Smiley + * @license MIT + */ + +namespace chillerlan\Settings; + +use JsonSerializable; + +/** + * a generic container with magic getter and setter + */ +interface SettingsContainerInterface extends JsonSerializable{ + + /** + * Retrieve the value of $property + * + * @return mixed|null + */ + public function __get(string $property); + + /** + * Set $property to $value while avoiding private and non-existing properties + * + * @param string $property + * @param mixed $value + */ + public function __set(string $property, $value):void; + + /** + * Checks if $property is set (aka. not null), excluding private properties + */ + public function __isset(string $property):bool; + + /** + * Unsets $property while avoiding private and non-existing properties + */ + public function __unset(string $property):void; + + /** + * @see SettingsContainerInterface::toJSON() + */ + public function __toString():string; + + /** + * Returns an array representation of the settings object + */ + public function toArray():array; + + /** + * Sets properties from a given iterable + */ + public function fromIterable(iterable $properties):SettingsContainerInterface; + + /** + * Returns a JSON representation of the settings object + * @see \json_encode() + */ + public function toJSON(int $jsonOptions = null):string; + + /** + * Sets properties from a given JSON string + * + * @throws \Exception + * @throws \JsonException + */ + public function fromJSON(string $json):SettingsContainerInterface; + +} |