diff options
author | Mario <mario@mariovavti.com> | 2024-03-14 10:13:22 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2024-03-14 10:13:22 +0000 |
commit | 55097c47c5534d4453f7494f8a1542f7beb4d588 (patch) | |
tree | 399f81bbd03fcb4bb713339d06512eee962ec8f6 /vendor/chillerlan/php-settings-container/examples | |
parent | 97b82fc77b424d051b2a472ab2318fd768151bdd (diff) | |
download | volse-hubzilla-55097c47c5534d4453f7494f8a1542f7beb4d588.tar.gz volse-hubzilla-55097c47c5534d4453f7494f8a1542f7beb4d588.tar.bz2 volse-hubzilla-55097c47c5534d4453f7494f8a1542f7beb4d588.zip |
Revert "composer update and use the fixed streams php-jcs library until the floats issue will be fixed upstream. see here for reference https://codeberg.org/streams/streams/issues/151"
This reverts commit 6bf61dfa6b585db01b607a79bd64ec9c583a9c10.
Diffstat (limited to 'vendor/chillerlan/php-settings-container/examples')
-rw-r--r-- | vendor/chillerlan/php-settings-container/examples/advanced.php | 51 | ||||
-rw-r--r-- | vendor/chillerlan/php-settings-container/examples/simple.php | 29 |
2 files changed, 80 insertions, 0 deletions
diff --git a/vendor/chillerlan/php-settings-container/examples/advanced.php b/vendor/chillerlan/php-settings-container/examples/advanced.php new file mode 100644 index 000000000..f11642c83 --- /dev/null +++ b/vendor/chillerlan/php-settings-container/examples/advanced.php @@ -0,0 +1,51 @@ +<?php +/** + * @created 28.08.2018 + * @author smiley <smiley@chillerlan.net> + * @copyright 2018 smiley + * @license MIT + */ + +namespace chillerlan\SettingsExamples; + +use chillerlan\Settings\SettingsContainerAbstract; + +require_once __DIR__.'/../vendor/autoload.php'; + +// from library #1 +trait SomeOptions{ + protected string $foo = ''; + + // this method will be called in SettingsContainerAbstract::__construct() after the properties have been set + protected function SomeOptions(){ + // just some constructor stuff... + $this->foo = strtoupper($this->foo); + } +} + +// from library #2 +trait MoreOptions{ + protected string $bar = 'whatever'; // provide default values +} + +$commonOptions = [ + // SomeOptions + 'foo' => 'whatever', + // MoreOptions + 'bar' => 'nothing', +]; + +// now plug the several library options together to a single object + +/** + * @property string $foo + * @property string $bar + */ +class MySettings extends SettingsContainerAbstract{ + use SomeOptions, MoreOptions; // ... +}; + +$container = new MySettings($commonOptions); + +var_dump($container->foo); // -> WHATEVER (constructor ran strtoupper on the value) +var_dump($container->bar); // -> nothing diff --git a/vendor/chillerlan/php-settings-container/examples/simple.php b/vendor/chillerlan/php-settings-container/examples/simple.php new file mode 100644 index 000000000..acdbe4cb3 --- /dev/null +++ b/vendor/chillerlan/php-settings-container/examples/simple.php @@ -0,0 +1,29 @@ +<?php +/** + * @created 28.08.2018 + * @author smiley <smiley@chillerlan.net> + * @copyright 2018 smiley + * @license MIT + */ + +namespace chillerlan\SettingsExamples; + +use chillerlan\Settings\SettingsContainerAbstract; + +require_once __DIR__.'/../vendor/autoload.php'; + +class MyContainer extends SettingsContainerAbstract{ + protected $foo; + protected $bar; +} + +/** @var \chillerlan\Settings\SettingsContainerInterface $container */ +$container = new MyContainer(['foo' => 'what']); +$container->bar = 'foo'; + +var_dump($container->toJSON()); // -> {"foo":"what","bar":"foo"} + +// non-existing properties will be ignored: +$container->nope = 'what'; + +var_dump($container->nope); // -> NULL |