dev-master
9999999-devA parameter bag implementation.
MIT
The Requires
- php ^7.0
The Development Requires
by Ashoka de Wit
1.0.0
1.0.0.0A parameter bag implementation.
MIT
The Requires
- php ^7.0
The Development Requires
by Ashoka de Wit
Wallogit.com
2017 © Pedro Peláez
A parameter bag implementation.
This package contains an implementation of a parameter bag., (*2)
Use composer to install the package., (*3)
$ composer require widefocus/parameters
The package includes a factory to create a parameter bag., (*4)
<?php
use WideFocus\Parameters\ParameterBagFactory;
$factory = new ParameterBagFactory();
$bag = $factory->createBag(['foo' => 'Foo']);
if ($bag->has('foo')) {
echo $bag->get('foo');
}
The bag is immutable but has method to get a copy with an added or a removed value., (*5)
<?php
use WideFocus\Parameters\ParameterBagFactory;
$factory = new ParameterBagFactory();
$bag = $factory->createBag()
->with('foo', 'Foo')
->with('bar', 'Bar');
$withoutFoo = $bag->without('foo');
A parameter setter can be used to set values on a subject. The default setter looks for setter methods on the subject., (*6)
<?php
use WideFocus\Parameters\ParameterBagFactory;
use WideFocus\Parameters\ParameterSetter;
class Subject
{
private $foo;
public function setFoo(string $foo)
{
$this->foo = $foo;
}
public function getFoo(): string
{
return $this->foo;
}
}
$subject = new Subject();
$factory = new ParameterBagFactory();
$bag = $factory->createBag(['foo' => 'Foo']);
$setter = new ParameterSetter();
$setter->setParameters($subject, $bag);
echo $subject->getFoo(); // Foo
A parameter bag implementation.
MIT
A parameter bag implementation.
MIT