PHPackages                             jdwx/web - 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. jdwx/web

ActiveLibrary

jdwx/web
========

v3.0.12(1mo ago)16523MITPHPPHP &gt;=8.3.0

Since Dec 5Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/jdwx/web-php)[ Packagist](https://packagist.org/packages/jdwx/web)[ RSS](/packages/jdwx-web/feed)WikiDiscussions main Synced yesterday

READMEChangelog (10)Dependencies (36)Versions (72)Used By (3)

jdwx/web-php
============

[](#jdwxweb-php)

Basic library code for web applications in PHP.

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

[](#installation)

You can require it directly with Composer:

```
composer require jdwx/web-php
```

Or download the source from GitHub:

Requirements
------------

[](#requirements)

This module requires PHP 8.3 or later.

Usage
-----

[](#usage)

The most-used functionality of this module is providing a type-safe interface to the web-related superglobals. Here is a basic usage example:

```
$req = Request::getGlobal();

# Returns a Parameter or null if the parameter is not set.
$param = $req->get( 'param' );

# Returns a Parameter or throws an exception if the parameter is not set.
$param = $req->getEx( 'param' );

# Get a parameter as a string, exploding if either assumption (that it
# exists and is a string) is false. (See jdwx_param for other types and
# conversions available.) This is the most common idiom for getting
# parameters from the request safely.
$param = $req->postEx( 'param' )->asString();

# Get the contents of a file upload without moving it to a permanent location.
$param = $req->FILES()->fetchAsString( 'file_param' );
```

There are many unit tests for this module that provide additional examples of usage.

Stability
---------

[](#stability)

This bulk of this module (include functionality related to requests, sessions, server values, and files) is considered stable and is extensively used in production code, handling millions of requests per day.

The test coverage is very good but not complete. Some web-related functionality is difficult to test in a unit test. Everything else should be covered.

History
-------

[](#history)

This module was adapted from a private repository in December 2024. The Framework and Pages code moved to separate modules in November 2025.

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance91

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity69

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 ~7 days

Recently: every ~23 days

Total

71

Last Release

42d ago

Major Versions

v1.1.6 → v2.0.02025-03-22

2.x-dev → v3.0.02025-11-27

### Community

Maintainers

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

---

Top Contributors

[![jdwx](https://avatars.githubusercontent.com/u/2722779?v=4)](https://github.com/jdwx "jdwx (254 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.4k87.2M2.2k](/packages/symfony-symfony)[symfony/http-kernel

Provides a structured process for converting a Request into a Response

8.1k869.4M8.8k](/packages/symfony-http-kernel)[symfony/cache

Provides extended PSR-6, PSR-16 (and tags) implementations

4.2k373.5M3.3k](/packages/symfony-cache)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[tempest/framework

The PHP framework that gets out of your way.

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

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

564576.7k52](/packages/ecotone-ecotone)

PHPackages © 2026

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