diff options
Diffstat (limited to 'vendor/chillerlan/php-settings-container')
-rw-r--r-- | vendor/chillerlan/php-settings-container/.travis.yml | 4 | ||||
-rw-r--r-- | vendor/chillerlan/php-settings-container/README.md | 13 | ||||
-rw-r--r-- | vendor/chillerlan/php-settings-container/composer.json | 4 |
3 files changed, 15 insertions, 6 deletions
diff --git a/vendor/chillerlan/php-settings-container/.travis.yml b/vendor/chillerlan/php-settings-container/.travis.yml index 208cdeb6a..c2ad210ed 100644 --- a/vendor/chillerlan/php-settings-container/.travis.yml +++ b/vendor/chillerlan/php-settings-container/.travis.yml @@ -4,10 +4,10 @@ matrix: include: - php: 7.2 - php: 7.3 - - php: 7.4snapshot + - php: 7.4 + - php: 8.0 - php: nightly allow_failures: - - php: 7.4snapshot - php: nightly 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'; diff --git a/vendor/chillerlan/php-settings-container/composer.json b/vendor/chillerlan/php-settings-container/composer.json index 4dc758665..4464e6e8a 100644 --- a/vendor/chillerlan/php-settings-container/composer.json +++ b/vendor/chillerlan/php-settings-container/composer.json @@ -20,11 +20,11 @@ "source": "https://github.com/chillerlan/php-settings-container" }, "require": { - "php": "^7.2", + "php": "^7.2 || ^8.0", "ext-json": "*" }, "require-dev": { - "phpunit/phpunit": "^8.3" + "phpunit/phpunit": "^8.4" }, "autoload": { "psr-4": { |