PHPackages                             asm/php-utilities - 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. asm/php-utilities

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

asm/php-utilities
=================

php tools with data container, collection objects, yaml config loader and timer

v3.0.1(7y ago)107.7k3MITPHPPHP ^7.0

Since Aug 26Pushed 7y ago3 watchersCompare

[ Source](https://github.com/maschmann/php-utilities)[ Packagist](https://packagist.org/packages/asm/php-utilities)[ Docs](https://github.com/maschmann/php-utilities)[ RSS](/packages/asm-php-utilities/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (9)Dependencies (3)Versions (12)Used By (0)

php-utilities
=============

[](#php-utilities)

[![Build Status](https://camo.githubusercontent.com/51c3644f7caf27cef74f5b942fe6bd370acd635d3819c60498e4f35630bb2bf2/68747470733a2f2f7472617669732d63692e6f72672f6d617363686d616e6e2f7068702d7574696c69746965732e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/maschmann/php-utilities)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/ca1c1ff6a45e15fbb0e3d2fd9ae9743625e3ec5a6f6b152fc2ce963a4cc92a69/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6d617363686d616e6e2f7068702d7574696c69746965732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/maschmann/php-utilities/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/ab4412e21ce6fd78eb0e26790db965754f965dbc8c8b8166382df7615836d37e/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6d617363686d616e6e2f7068702d7574696c69746965732f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/maschmann/php-utilities/?branch=master)[![SensioLabsInsight](https://camo.githubusercontent.com/d0ca78b82098b6d38cfe894a16b54df1db42be15e125a50c1e6c9ed39856136e/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f38633766343065612d646638302d346566652d613265372d6533323339633438303561302f6d696e692e706e67)](https://insight.sensiolabs.com/projects/8c7f40ea-df80-4efe-a2e7-e3239c4805a0)

About
-----

[](#about)

This library is all about helping with the common little problems like having a type of object to inherit from with an internal data storage to turn to a json or array, ...

Usage
-----

[](#usage)

A lot of examples on how to use the classes can be found in the UnitTests. The whole collection is extensively tested and therefore quite stable. Feel free to contribute, suggest changes or help make it better.

Contents
--------

[](#contents)

You'll get following groups of classes which are interdependent

### Data

[](#data)

This part consists of two distinct classes:

- Data is a data store where you can easily store and retrieve data.
- DataCollection ist a container to house items like objects, iterable.

### Config

[](#config)

Here you get a static factory which is able to produce three types of configuration objects, based on Data class. All config objects take yaml files as source and provide easy access via get/set methods. See UnitTests for examples. Available types are:

- ConfigDefault - basic config object, stores the yaml content "as is", provides get/set.
- ConfigEnv - provides the possibility to get an environment-merged config. Based on the currently provided env, you'll have e.g. prod -&gt; dev merged, with prod node as a master.
- ConfigTimer is a specialised for of config to provide pre-generated DateTime objects for the Timer class.

Configs now also support the "imports" syntax from symfony configs.

```
imports:
    - { resource: defaults.yml }

```

There is the possibility to use a "default" node in all configs, except timers, which will be used as merge-base. Imported configs will be treated just like the "default" node and also become the base for merging. The order of merges is import -&gt; default -&gt; prod -&gt; $env.

### Timer

[](#timer)

Provides functionality to check if there's a current holiday, has configurable "timers" to check uf e.g. your hotline should be available etc. Extensive examples can be found within both, the TestData and UnitTests :-)

### Test

[](#test)

TestData is just a helper for providing configurations for either Config and Timer. Have a look for YAML config examples.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 96.1% 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

Every ~161 days

Recently: every ~302 days

Total

10

Last Release

2827d ago

Major Versions

v1.2.0 → v2.0.02015-03-28

v2.0.4 → v3.0.02017-02-15

PHP version history (3 changes)v1.0.0PHP &gt;=5.3.0

v1.2.0PHP &gt;=5.3.9

v3.0.0PHP ^7.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/113964?v=4)[Jason](/maintainers/asm)[@asm](https://github.com/asm)

---

Top Contributors

[![maschmann](https://avatars.githubusercontent.com/u/157620?v=4)](https://github.com/maschmann "maschmann (74 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (2 commits)")[![lerua83](https://avatars.githubusercontent.com/u/878961?v=4)](https://github.com/lerua83 "lerua83 (1 commits)")

---

Tags

phpphp-utility

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/asm-php-utilities/health.svg)

```
[![Health](https://phpackages.com/badges/asm-php-utilities/health.svg)](https://phpackages.com/packages/asm-php-utilities)
```

###  Alternatives

[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[lullabot/drainpipe

An automated build tool to allow projects to have a set standardized operations scripts.

41716.4k2](/packages/lullabot-drainpipe)[netgen/content-browser

Netgen Content Browser is a Symfony bundle that provides an interface which selects items from any kind of backend and returns the IDs of selected items back to the calling code.

14112.1k8](/packages/netgen-content-browser)

PHPackages © 2026

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