takeoto/attributable
最新稳定版本:0.1
Composer 安装命令:
composer require takeoto/attributable
包简介
Abstraction for objects with custom attributes.
README 文档
README
Abstraction for objects with custom attributes
Usage
use Takeoto\Attributable\Contract\ReadableAttributesInterface; use Takeoto\Attributable\Contract\WritableAttributesInterface; use Takeoto\Attributable\TraitReadableAttributes; use Takeoto\Attributable\TraitWriteableAttributes; # --- Readable attributes class SomeClassReadable implements ReadableAttributesInterface { use TraitReadableAttributes; /** * @param mixed[] $attributes */ public function __construct(private array $attributes = []) { } # some class logic ... } $object = new SomeClassReadable([ 'someAttribute' => 'someValue', 'someAttribute1' => 'someValue1', ]); if ($object->hasAttr('someAttribute')) { # true echo $object->getAttr('someAttribute'); # "someValue" } $object->getAttrs(); # [ 'someAttribute' => 'someValue', 'someAttribute1' => 'someValue1' ] $object->getAttr('undefinedAttribute'); # throws an exception # --- Writable attributes class SomeClassWritable implements WritableAttributesInterface { use TraitWriteableAttributes; # some class logic ... } $object = new SomeClassWritable(); $object->setAttr('someAttribute', 'someValue'); $object->unsetAttr('someAttribute');
统计信息
- 总下载量: 54
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-05-04