PHPackages                             improved/improved - 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. improved/improved

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

improved/improved
=================

Improved PHP library

v0.1.0(6y ago)1104.2k↓23.1%4MITPHP &gt;=7.2.0

Since Jun 3Pushed 6y ago1 watchersCompare

[ Source](https://github.com/improved-php-library/improved)[ Packagist](https://packagist.org/packages/improved/improved)[ RSS](/packages/improved-improved/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (4)

[![improved PHP library](https://user-images.githubusercontent.com/100821/46372249-e5eb7500-c68a-11e8-801a-2ee57da3e5e3.png)](https://user-images.githubusercontent.com/100821/46372249-e5eb7500-c68a-11e8-801a-2ee57da3e5e3.png)

Playground for developing consistent and modern functions for PHP that are safe to use.

Most libraries here are in permanent beta, though some might become production ready. Any library written in PHP can be used, but is mostly intended as proof of concept.

If you choose to use these libraries, please provide feedback either through via github issues or via Twitter [@ArnoldDaniels](https://twitter.com/ArnoldDaniels).

Why?
----

[](#why)

The core libraries of PHP are a mess. Functions have inconsistent names, inconsistent arguments, inconsistent and sometimes dangerouds return values and deal with errors poorly. This functions have been created decades ago and no longer live up to current day standards.

While there are many functions, a lot are redundant, while others are missing. For example;

- There are many array functions, but these won't work with other iterables like `ArrayObject`.
- For trimming a string there is `trim`, `rtrim` and `ltrim`. For padding a string there is only `str_pad`, which takes a `STR_PAD_RIGHT`, `STR_PAD_LEFT` or `STR_PAD_BOTH` as argument.
- For missing functions there are standard patterns to make it work. For instance, to find out if a string contains a specific substring we use `strpos($string, $substring) !== false`.
- etc

This make it unnecessarily difficult for non-PHP developers to read PHP code and creates a barrier for newcomers to an otherwise beginner-friendly language.

What?
-----

[](#what)

All functions are consistently named and take the subject as first argument. The library reduces the number of functions, opting for the use of constants for options. Options are always the last argument.

The functions throw an Exception in case of an error and return only sensible data.

The library contains of the following packages:

- [iterable](https://github.com/improved-php-library/iterable) - Like array functions, for any iterable. Uses Generators.
- [functions](https://github.com/improved-php-library/functions) - Function handling and functional programming.
- [type](https://github.com/improved-php-library/type) - Type checking and casting.

### Roadmap

[](#roadmap)

- [string](https://github.com/improved-php-library/string) - String manipulation.
- array - Limited set of functions that don't make sense for other iterables.

For more high level functionality like database access, filesystem access, image processing, etc, it's recommended to use an OOP abstraction layer. This is outside of the scope of the improved PHP library.

How?
----

[](#how)

All modules code as extension or composer package. The extension is not yet available. The compatibility library can be installed via

```
composer install improved/improved

```

All functions are in the `Improved` namespace, rather than importing them one by one, it's recommended to alias the namespace to `i`.

```
use Improved as `i`;

if (i\type_is($value, '?string') {
    //...
}
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

2541d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3379a93d51305df325df9045e1a8b205d195e4e8c01312dff53a000ee79002eb?d=identicon)[jasny](/maintainers/jasny)

---

Top Contributors

[![jasny](https://avatars.githubusercontent.com/u/100821?v=4)](https://github.com/jasny "jasny (6 commits)")

### Embed Badge

![Health badge](/badges/improved-improved/health.svg)

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

###  Alternatives

[improved/iterable

Functions to interact with arrays, iterators and other traversable objects

13206.8k3](/packages/improved-iterable)

PHPackages © 2026

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