PHPackages                             manychois/php-strong - 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. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. manychois/php-strong

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

manychois/php-strong
====================

A utility library for PHP to help you write strong-typed code.

v0.0.1(2mo ago)019[4 PRs](https://github.com/manychois/php-strong/pulls)MITPHPPHP &gt;=8.5CI passing

Since Apr 7Pushed yesterday2 watchersCompare

[ Source](https://github.com/manychois/php-strong)[ Packagist](https://packagist.org/packages/manychois/php-strong)[ Docs](https://github.com/manychois/php-strong)[ RSS](/packages/manychois-php-strong/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (11)Versions (10)Used By (0)

php-strong
==========

[](#php-strong)

**php-strong** is a small PHP library that adds **typed boundaries** around places PHP is usually loose: nested arrays, the DI container, native sessions, and string matching. It does not replace the language type system; it gives you explicit, predictable APIs so invalid shapes fail **at the edge** (when you read a value or resolve a service) instead of far down the call stack.

It targets **PHP 8.5+**, uses the `Manychois\PhpStrong` namespace with PSR-4 autoloading, and integrates with **PSR-7** (HTTP messages), **PSR-17** (HTTP factories), **PSR-11** (containers), and **PSR-20** (clock) where relevant.

What’s in the box
-----------------

[](#whats-in-the-box)

- **Collections** — Lazy and eager sequences (`LazySequence`), mutable lists (`ArrayList`), readonly list views (`ReadonlyList`), maps with typed keys (`StringMap`, `IntMap`, `ObjectMap`, and readonly variants), plus shared sequence/list interfaces and comparers for ordering. Suited to application code that wants clear generics-friendly collection APIs.
- **Typed array and object reading** — `ArrayReader` (and `ArrayReaderInterface`) walk **dot-separated paths** and expose readers such as `asInt`, `bool`, `string`, `object`, and `instanceOf` so nested structures are validated when accessed.
- **PSR-11 container** — `StrongContainerInterface` and `StrongContainerWrapper` wrap any `Psr\Container\ContainerInterface` and add `getObject($id, $class)` so resolved services are checked against an expected class or interface.
- **`Web`** — **PSR-7** value objects: `OutRequest`, `InRequest`, `Response`, `Stream`, `Uri`, and **`UploadedFile`**, plus **`Method`** and **`StatusCode`** enums. **PSR-17** factories: `RequestFactory` (requests and server requests), `ResponseFactory`, `StreamFactory`, `UploadedFileFactory`, and `UriFactory`. **Sessions:** `PhpSession` / `PhpSessionInterface` expose `$_SESSION` with the same path-style, validated access as `ArrayReader`, plus lifecycle helpers.
- **Time** — `UtcClock` implements PSR-20’s clock in UTC, with support for deterministic tests (e.g. frozen instants).
- **Text** — `Regex`, `MatchResult`, `Capture`, and `Utf8String` offer an object-oriented, exception-oriented approach to pattern matching and UTF-8 strings; small helpers like `StringSide` and value types such as `DayOfWeek` live alongside them.

Why use it?
-----------

[](#why-use-it)

If you like **C#- or Java-style rigor** at API boundaries—without fighting PHP’s arrays and superglobals—php-strong narrows `mixed` early: fewer surprises in business logic and better alignment with static analysis (e.g. PHPStan) on downstream code.

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

[](#installation)

```
composer require manychois/php-strong
```

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance93

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

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

87d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3290769?v=4)[Siu Pang Tommy Choi](/maintainers/manychois)[@manychois](https://github.com/manychois)

---

Top Contributors

[![manychois](https://avatars.githubusercontent.com/u/3290769?v=4)](https://github.com/manychois "manychois (23 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

---

Tags

array-accessclockcontainerpsr-11psr-20regexsessionstrong-typetype-safetytyped-arraycontainerPSR-11clockpsr-20regexsessionarray accessortype-safetystrong typingTyped Arraystrong-type

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/manychois-php-strong/health.svg)

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

###  Alternatives

[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[symfony/symfony

The Symfony PHP framework

31.4k87.2M2.2k](/packages/symfony-symfony)[guzzlehttp/psr7

PSR-7 message implementation that also provides common utility methods

8.0k1.1B4.0k](/packages/guzzlehttp-psr7)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

85036.3k](/packages/flow-php-flow)[cakephp/cakephp

The CakePHP framework

8.9k19.5M1.8k](/packages/cakephp-cakephp)[mcp/sdk

Model Context Protocol SDK for Client and Server applications in PHP

1.5k1.5M88](/packages/mcp-sdk)

PHPackages © 2026

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