4.3. Entity-Attribute-Value (EAV)
The Entity–attribute–value (EAV) model is a data model to describe entitieswhere the number of attributes (properties, parameters) that can be usedto describe them is potentially vast, but the number that will actually applyto a given entity is relatively modest.
You can also find this code on GitHub
Attribute.php
Tests/EAVTest.php