summaryrefslogtreecommitdiff
path: root/vendor/chillerlan/php-settings-container/README.md
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-11-15 18:33:35 +0300
committerAndrew Dolgov <[email protected]>2021-11-15 18:33:35 +0300
commit4c37fa4b41b0cab50a4fc192e9120042dbe36872 (patch)
treed7ca7cbd65de0cea9806870c8fb646ed15d978ae /vendor/chillerlan/php-settings-container/README.md
parent109b702ed0cd31a0dc8466b8127882d263705d8d (diff)
update phpstan to 1.1.2; update php-qrcode to 3.4.1
Diffstat (limited to 'vendor/chillerlan/php-settings-container/README.md')
-rw-r--r--vendor/chillerlan/php-settings-container/README.md13
1 files changed, 11 insertions, 2 deletions
diff --git a/vendor/chillerlan/php-settings-container/README.md b/vendor/chillerlan/php-settings-container/README.md
index 7d0ccf09d..f3bb26c5e 100644
--- a/vendor/chillerlan/php-settings-container/README.md
+++ b/vendor/chillerlan/php-settings-container/README.md
@@ -51,8 +51,8 @@ Profit!
## Usage
-The `SettingsContainerInterface` (wrapped in`SettingsContainerAbstract` ) provides plug-in functionality for immutable object variables and adds some fancy, like loading/saving JSON, arrays etc.
-It takes iterable as the only constructor argument and calls a method with the trait's name on invocation (`MyTrait::MyTrait()`) for each used trait.
+The `SettingsContainerInterface` (wrapped in`SettingsContainerAbstract` ) provides plug-in functionality for immutable object properties and adds some fancy, like loading/saving JSON, arrays etc.
+It takes an `iterable` as the only constructor argument and calls a method with the trait's name on invocation (`MyTrait::MyTrait()`) for each used trait.
### Simple usage
```php
@@ -61,6 +61,13 @@ class MyContainer extends SettingsContainerAbstract{
protected $bar;
}
```
+Typed properties in PHP 7.4+:
+```php
+class MyContainer extends SettingsContainerAbstract{
+ protected string $foo;
+ protected string $bar;
+}
+```
```php
// use it just like a \stdClass
@@ -78,6 +85,8 @@ $container->fromJSON('{"foo": "what", "bar": "foo"}');
$container->toArray(); // -> ['foo' => 'what', 'bar' => 'foo']
// or JSON
$container->toJSON(); // -> {"foo": "what", "bar": "foo"}
+// JSON via JsonSerializable
+$json = json_encode($container); // -> {"foo": "what", "bar": "foo"}
//non-existing properties will be ignored:
$container->nope = 'what';