tasoft / value-storage
v1.0.0
2020-04-21 18:43 UTC
Requires
- php: ^7.2
Requires (Dev)
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2024-11-22 05:02:19 UTC
README
Is a simple storage to hold values and value providers.
Install
$ composer require tasoft/value-storage
Usage
The value storage can be used like a simple array.
In addition, it accepts values with a specific characteristic: They are resolvable on demand.
<?php use TASoft\Util\ValueStorage; $vp = new ValueStorage(["value1" => 23]); $vp->value2 = 44; $vp["value3"] = 'Hello World'; // The values are fetchable by properties or array access: echo $vp->value3; // 'Hello World' echo $vp["value1"]; // 23
This behaviour is not yet special.
But take a look at this:
<?php use TASoft\Util\ValueStorage; $vp = new ValueStorage(["test" => $func1 = function() { return 23; }]); // or $vp["other-test"] = $func2 = function() { return "Hello World"; }; // You can assign a callback using the constructor, a property name or by array access. // Fetching the value provider is done by then get() method echo $func1 === $vp->get('test'); // TRUE // or echo $func1 === $vp->test; // TRUE // And fetching the real value is done by getValue or array access echo $vp->getValue('test'); // 23 // or echo $vp["test"]; // 23 !
In the same way like callbacks objects implementing TASoft\Util\Value\ValueInterface
are working.
Passing an object implementing TASoft\Util\Value\ValueInterfaces
injects the returned values from that object.
You can assign such an object by any property or key or simply the addValue() method.