aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php')
-rw-r--r--vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php26
1 files changed, 15 insertions, 11 deletions
diff --git a/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php
index ddacccd29..1c9c12a73 100644
--- a/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php
+++ b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php
@@ -7,30 +7,28 @@
* @copyright 2018 Smiley
* @license MIT
*/
+declare(strict_types=1);
namespace chillerlan\Settings;
-use JsonSerializable;
+use JsonSerializable, Serializable;
/**
* a generic container with magic getter and setter
*/
-interface SettingsContainerInterface extends JsonSerializable{
+interface SettingsContainerInterface extends JsonSerializable, Serializable{
/**
* Retrieve the value of $property
*
* @return mixed|null
*/
- public function __get(string $property);
+ public function __get(string $property):mixed;
/**
* Set $property to $value while avoiding private and non-existing properties
- *
- * @param string $property
- * @param mixed $value
*/
- public function __set(string $property, $value):void;
+ public function __set(string $property, mixed $value):void;
/**
* Checks if $property is set (aka. not null), excluding private properties
@@ -43,32 +41,38 @@ interface SettingsContainerInterface extends JsonSerializable{
public function __unset(string $property):void;
/**
- * @see SettingsContainerInterface::toJSON()
+ * @see \chillerlan\Settings\SettingsContainerInterface::toJSON()
*/
public function __toString():string;
/**
* Returns an array representation of the settings object
+ *
+ * The values will be run through the magic __get(), which may also call custom getters.
*/
public function toArray():array;
/**
* Sets properties from a given iterable
+ *
+ * The values will be run through the magic __set(), which may also call custom setters.
*/
- public function fromIterable(iterable $properties):SettingsContainerInterface;
+ public function fromIterable(iterable $properties):static;
/**
* Returns a JSON representation of the settings object
* @see \json_encode()
+ * @see \chillerlan\Settings\SettingsContainerInterface::toArray()
*/
- public function toJSON(int $jsonOptions = null):string;
+ public function toJSON(int|null $jsonOptions = null):string;
/**
* Sets properties from a given JSON string
*
* @throws \Exception
* @throws \JsonException
+ * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable()
*/
- public function fromJSON(string $json):SettingsContainerInterface;
+ public function fromJSON(string $json):static;
}