lukaszmakuch / object-attribute-container
Allows to attach some attributes to objects
v0.1
2016-03-10 19:20 UTC
Requires (Dev)
- phpdocumentor/phpdocumentor: 2.*
- phpunit/phpunit: 4.7.*
This package is not auto-updated.
Last update: 2025-01-10 19:41:22 UTC
README
Allows to associate attributes with objects.
Getting package
$ composer require lukaszmakuch/object-attribute-container
Working with the object attribute container
<?php use lukaszmakuch\ObjectAttributeContainer\ObjectAttributeContainer; use lukaszmakuch\ObjectAttributeContainer\Exception\AttributeNotFound; use lukaszmakuch\ObjectAttributeContainer\Exception\ImpossibleToAddAttributes; /* @var $attrContainer \ObjectAttributeContainer */ //create a test object $obj = new \stdClass(); //associate parameters with the object try { $attrContainer->addObjAttrs( $obj, ["attr-key" => "attr-val"] ); } catch (ImpossibleToAddAttributes $e) { //... } //check if there's a parameter with the given name $attrContainer->objHasAttr($obj, "attr-key"); //true //get that parameter value try { $attrContainer->getObjAttrVal($obj, "attr-key"); //attr-val } catch (AttributeNotFound $e) { //... } //remove that parameter try { $attrContainer->remObjAttr($obj, "attr-key"); } catch (AttributeNotFound $e) { //... }
Getting an instance of the container
<?php use lukaszmakuch\ObjectAttributeContainer\Impl\ObjectAttributeContainerImpl; use lukaszmakuch\ObjectAttributeContainer\Impl\ObjectAttributeContainerProxy; //default $container = new ObjectAttributeContainerImpl(); //proxy $containerProxy = new ObjectAttributeContainerProxy();
More information
For more details check interfaces and test cases.