PHPackages                             dhii/data-object-abstract - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. dhii/data-object-abstract

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

dhii/data-object-abstract
=========================

Abstract common functionality for data objects

v0.1-alpha1(8y ago)03.3k[1 issues](https://github.com/Dhii/data-object-abstract/issues)6MITPHPPHP ^5.4 | ^7.0

Since Aug 27Pushed 8y ago3 watchersCompare

[ Source](https://github.com/Dhii/data-object-abstract)[ Packagist](https://packagist.org/packages/dhii/data-object-abstract)[ RSS](/packages/dhii-data-object-abstract/feed)WikiDiscussions develop Synced 3d ago

READMEChangelog (1)Dependencies (6)Versions (3)Used By (6)

Dhii - Data - Object - Abstract
===============================

[](#dhii---data---object---abstract)

[![Build Status](https://camo.githubusercontent.com/d608159baf1e03cbc84ccfd970250d53d37f165c95b694f2a4d5ceca3aa48c45/68747470733a2f2f7472617669732d63692e6f72672f446869692f646174612d6f626a6563742d61627374726163742e7376673f6272616e63683d646576656c6f70)](https://travis-ci.org/Dhii/data-object-abstract)[![Code Climate](https://camo.githubusercontent.com/be04dd676e50fd549d2a514e43f7f1c304d8ca9ee3ae26cfa61a1b8a6adbe6f1/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f446869692f646174612d6f626a6563742d61627374726163742f6261646765732f6770612e737667)](https://codeclimate.com/github/Dhii/data-object-abstract)[![Test Coverage](https://camo.githubusercontent.com/a801341eff5ceaefcb98c29c72eefd279a8ece2302a716e5efcc33fc8971378f/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f446869692f646174612d6f626a6563742d61627374726163742f6261646765732f636f7665726167652e737667)](https://codeclimate.com/github/Dhii/data-object-abstract/coverage)[![Latest Stable Version](https://camo.githubusercontent.com/21927f44ca4da1d70a08983d5272c434fc1e5585f76f098864e18a7603eaf798/68747470733a2f2f706f7365722e707567782e6f72672f646869692f646174612d6f626a6563742d61627374726163742f76657273696f6e)](https://packagist.org/packages/dhii/data-object-abstract)[![This package complies with Dhii standards](https://camo.githubusercontent.com/44bbe8c7678c1784cfc53cabce5d3e32fc22a840453c5ed9c08601522fe7c213/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446869692d436f6d706c69616e742d677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/Dhii/dhii)

Details
-------

[](#details)

This package contains abstract functionality for data objects. Data objects are objects that can contain, and optionally manipulate, some internal data. The implementations in this package are based on containers, which means that anything returned by [`_normalizeContainer`](https://github.com/Dhii/container-helper-base/blob/develop/src/NormalizeContainerCapableTrait.php#L32) can have a data object based on it. Another advantage of this implementation is that a data key can be anything that passes normalization by [`normalizeString()`](https://github.com/Dhii/normalization-helper-base/blob/develop/src/NormalizeStringCapableTrait.php#L30). All this makes this package an excellent base for flexible, extensible data objects.

**Important Notice**: While the traits that access the internal store can work with any container, the `_getDataStore()`method used by them MUST return an object for the methods that write to the store to have an effect. This is to avoid having to use references, which would complicate the code and make it more error-prone, and less optimized.

### Traits

[](#traits)

- [`GetDataCapableTrait`](src/GetDataCapableTrait.php) - Retrieves data by key from the internal store.
- [`SetDataCapableTrait`](src/SetDataCapableTrait.php) - Sets a data value by key in the internal store.
- [`SetManyCapableTrait`](src/SetManyCapableTrait.php) - Sets multiple data values by key-value map in the internal store.
- [`HasDataCapableTrait`](src/HasDataCapableTrait.php) - Establishes whether a key exists in the internal store.
- [`UnsetDataCapableTrait`](src/UnsetDataCapableTrait.php) - Removes data by key from the internal store.
- [`UnsetManyCapableTrait`](src/UnsetManyCapableTrait.php) - Removes multiple values by key list from the internal store.
- [`DataStoreAwareContainerTrait`](src/DataStoreAwareContainerTrait.php) - Retrieves the internal store.
- [`CreateDataStoreCapableTrait`](src/CreateDataStoreCapableTrait.php) - Creates an object that can serve as an internal store.
- [`NormalizeKeyCapableTrait`](src/NormalizeKeyCapableTrait.php) - Makes sure that a data key can be used to retrieve a value from the internal store.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2983d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1894e91b32c9f80d8f30a42d360af6983a507f1cf2c621b7c9a0a0de14e011c5?d=identicon)[XedinUnknown](/maintainers/XedinUnknown)

---

Top Contributors

[![XedinUnknown](https://avatars.githubusercontent.com/u/1428973?v=4)](https://github.com/XedinUnknown "XedinUnknown (113 commits)")[![mecha](https://avatars.githubusercontent.com/u/5425482?v=4)](https://github.com/mecha "mecha (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dhii-data-object-abstract/health.svg)

```
[![Health](https://phpackages.com/badges/dhii-data-object-abstract/health.svg)](https://phpackages.com/packages/dhii-data-object-abstract)
```

###  Alternatives

[cretueusebiu/laravel-vue-spa

A Laravel-Vue SPA starter project template.

3.0k18.8k](/packages/cretueusebiu-laravel-vue-spa)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
