diff options
| author | wn_ <invalid@email.com> | 2024-11-21 17:27:15 +0000 |
|---|---|---|
| committer | wn_ <invalid@email.com> | 2024-11-21 17:34:32 +0000 |
| commit | 64a36970d6c4a90c1ab738e0b859b4fffa18c603 (patch) | |
| tree | bf385b721be5b1c6067040ce65f0b892bb1c9225 /vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php | |
| parent | 1e14fc0fd957cea2ab176d5132c3fe5329991c17 (diff) | |
Bump 'chillerlan/php-qrcode' to 5.0.x.
* Maintains PHP `7.4` compatibility and adds PHP `8.4` compatibility
* The `4.4.x` branch does the same, but I didn't see any reason not to go to `5.0.x`.
* https://github.com/chillerlan/php-qrcode/releases
Diffstat (limited to 'vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php')
| -rw-r--r-- | vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php | 34 |
1 files changed, 23 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..6f3cc1a4d 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,46 @@ 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. + * + * @return array<string, mixed> */ 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. + * + * @phpstan-param array<string, mixed> $properties */ - 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() + * + * @throws \JsonException */ - public function toJSON(int $jsonOptions = null):string; + public function toJSON(int|null $jsonOptions = null):string; /** * Sets properties from a given JSON string * + * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable() + * * @throws \Exception * @throws \JsonException */ - public function fromJSON(string $json):SettingsContainerInterface; + public function fromJSON(string $json):static; } |