jeyroik / i-have-attributes
There is no license information available for the latest version (0.2.0) of this package.
Simple attributes implementation
0.2.0
2023-04-07 16:13 UTC
Requires (Dev)
- phpstan/phpstan: 0.*
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-11-07 19:28:59 UTC
README
Simple attributes implementation.
Usage
See tests
$ composer test
$something = new class ([ 'p1' => 'v1', 'p2' => 'v2' ]) implements IHaveAttributes { use THasAttributes; }; $this->assertEquals('v1', $something->getAttribute('p1')); $this->assertEquals('v1', $something['p1']); $this->assertEquals('{"p1":"v1","p2":"v2"}', json_encode($something)); foreach($something as $name => $value) { if ($name == 'p2') { $this->assertEquals('v2', $value); } } $this->assertTrue(isset($something['p1'])); unset($something['p1']); $this->assertFalse(isset($something['p1']));; $something->__merge(['p2' => 'v2.1', 'p3' => 'v3']); $this->assertEquals( ['p2' => 'v2.1', 'p3' => 'v3'], $something->__toArray() );