PHPackages                             digphp/router - 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. digphp/router

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

digphp/router
=============

router

1.0.0(4y ago)0161GPL-3.0PHP

Since Mar 14Pushed 4y ago1 watchersCompare

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

READMEChangelog (1)DependenciesVersions (2)Used By (1)

router
======

[](#router)

digphp router

特性
--

[](#特性)

- 支持绑定中间件
- 支持参数绑定
- 支持分组路由
- 支持正则路由

实例化
---

[](#实例化)

```
$router = new \DigPHP\Router\Router;
```

代码示例
----

[](#代码示例)

```
$router->get('/path1/{id:\d+}', 'somehandler1');
$router->get('/path2[/{id:\d+}]', 'somehandler2');
$router->addGroup('/group', function (Collector $collector) {
    $collector->bindMiddlewares(['somemiddleware1', 'somemiddleware2']);
    $collector->bindParams([
        'q' => '111',
    ]);
    $collector->get('/sub1', 'otherhandler1');
    $collector->get('/sub2', 'otherhandler2', 'name1', ['middleware3']);
    $collector->get('/sub3/{id:\d+}', 'otherhandler3', 'name2', ['middleware3']);
});

$res = $router->dispatch('GET', '/path2/33');
// Array
// (
//     [0] => 1
//     [1] => somehandler2
//     [2] => Array
//         (
//             [id] => 33
//         )

//     [3] => Array
//         (
//         )

//     [4] => Array
//         (
//         )

// )

$res = $router->dispatch('GET', '/group/sub1');
// Array
// (
//     [0] => 1
//     [1] => otherhandler1
//     [2] => Array
//         (
//         )

//     [3] => Array
//         (
//             [0] => somemiddleware1
//             [1] => somemiddleware2
//         )

//     [4] => Array
//         (
//             [q] => 111
//         )

// )

$res = $router->dispatch('GET', '/group/sub2');
// Array
// (
//     [0] => 1
//     [1] => otherhandler2
//     [2] => Array
//         (
//         )

//     [3] => Array
//         (
//             [0] => middleware3
//             [1] => somemiddleware1
//             [2] => somemiddleware2
//         )

//     [4] => Array
//         (
//             [q] => 111
//         )

// )

$res = $router->dispatch('GET', '/group/sub3/11');
// Array
// (
//     [0] => 1
//     [1] => otherhandler3
//     [2] => Array
//         (
//             [id] => 11
//         )

//     [3] => Array
//         (
//             [0] => middleware3
//             [1] => somemiddleware1
//             [2] => somemiddleware2
//         )

//     [4] => Array
//         (
//             [q] => 111
//         )

// )

$res = $router->build('name2', ['id' => 11]);
// /group/sub3/11
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity48

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

1526d ago

### Community

Maintainers

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

---

Top Contributors

[![wseng](https://avatars.githubusercontent.com/u/6572161?v=4)](https://github.com/wseng "wseng (2 commits)")

### Embed Badge

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

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

###  Alternatives

[tuck/sort

Syntactic sugar for PHP's sorting

11547.3k](/packages/tuck-sort)[rezozero/canonical-email

Simple PHP library to canonize emails address from gmail.com or other providers that allow several forms of email.

1162.0k](/packages/rezozero-canonical-email)[demency/nova-gridder

A Laravel Nova Package for resource details grids.

1615.1k](/packages/demency-nova-gridder)[kijtra/textdiff

Simple text diff Class. 簡易的なテキスト比較ライブラリです。

491.5k](/packages/kijtra-textdiff)

PHPackages © 2026

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