PHPackages                             jeroendn/php-helpers - 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. jeroendn/php-helpers

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

jeroendn/php-helpers
====================

A package containing classes and scripts to use across multiple projects.

1.1.0(2w ago)081MITPHPPHP ^8.5

Since Sep 10Pushed 2w ago1 watchersCompare

[ Source](https://github.com/jeroendn/PhpHelpers)[ Packagist](https://packagist.org/packages/jeroendn/php-helpers)[ RSS](/packages/jeroendn-php-helpers/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (7)Versions (18)Used By (0)

PhpHelpers
==========

[](#phphelpers)

PHP helper classes and quality-tooling scripts to use across multiple projects.

Installation
------------

[](#installation)

```
composer require jeroendn/php-helpers
```

Contents
--------

[](#contents)

### Classes

[](#classes)

ClassPurpose`Helper\ArrayHelper`Sort arrays of objects by one or more properties`Helper\Casing`Convert strings between snake\_case, camelCase and PascalCase`Helper\Debug`Dump variables (`raw`, `d`, `dd`)`Helper\Env`Load `.env` variables into the server environment`Wrapper\DateTime`DateTime wrapper that can freeze into an immutable and back```
use jeroendn\PhpHelpers\Helper\ArrayHelper;

$array = [
    (object) ['name' => 'John'],
    (object) ['name' => 'Hans'],
    (object) ['name' => 'Piet'],
];

ArrayHelper::sortObjectsByProperty($array, 'name');

echo $array[0]->name; // Hans
```

### Scripts

[](#scripts)

#### Code quality assurance

[](#code-quality-assurance)

This package ships a whole-project quality gate to run before opening a PR. Composer links it into `vendor/bin` of every project requiring this package:

```
vendor/bin/code-quality-assurance.sh
```

It runs composer normalize, composer validate, rector, php-cs-fixer, phpstan, phpunit and npm build — in that order, aborting on the first failure. The tool steps run through the project's composer script definitions (`rector-fix`, `cs-fix`, `phpstan`, `phpunit`), so a step only runs when the project defines the matching script — and that definition controls the exact command, config and flags. The same script therefore serves projects with different setups.

Development
-----------

[](#development)

Day-to-day commands run inside the `php_phphelpers` container through the `./develop` wrapper (`develop.cmd` makes the same commands work from PowerShell/cmd on Windows):

```
./develop up -d --build  # build + start the container
./develop checkout       # composer install
./develop cqa            # run the code quality assurance gate
./develop help           # list all commands
```

### Run tests

[](#run-tests)

```
./develop composer phpunit
```

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance96

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~94 days

Recently: every ~146 days

Total

16

Last Release

18d ago

Major Versions

0.8-beta → 1.0.02026-07-19

PHP version history (4 changes)v0.1-alphaPHP ^8.0

v0.6-betaPHP ^8.1

0.7-betaPHP ^8.2

1.0.0PHP ^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/ad65c9a67bf63e8dfb83317eba0bfc3697249c7c92b3d4c19224cbee74e2e771?d=identicon)[jeroendn](/maintainers/jeroendn)

---

Top Contributors

[![jeroendn](https://avatars.githubusercontent.com/u/51778824?v=4)](https://github.com/jeroendn "jeroendn (39 commits)")

---

Tags

phpphp-library

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/jeroendn-php-helpers/health.svg)

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

###  Alternatives

[laravel/framework

The Laravel Framework.

34.9k556.2M21.5k](/packages/laravel-framework)[craftcms/cms

Craft CMS

3.6k3.7M3.4k](/packages/craftcms-cms)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

762297.9k53](/packages/civicrm-civicrm-core)[tempest/framework

The PHP framework that gets out of your way.

2.3k37.6k21](/packages/tempest-framework)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6943.5M449](/packages/drupal-core-recommended)[cognesy/instructor-php

The complete AI toolkit for PHP: unified LLM API, structured outputs, agents, and coding agent control

326127.9k1](/packages/cognesy-instructor-php)

PHPackages © 2026

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