PHPackages                             spinyman/lumen-route-param-to-object-middleware - 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. spinyman/lumen-route-param-to-object-middleware

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

spinyman/lumen-route-param-to-object-middleware
===============================================

Lumen middleware to use Route parameters as objects

v1.0.5(4y ago)16MITPHPPHP &gt;=7.2.5

Since Nov 8Pushed 4y ago1 watchersCompare

[ Source](https://github.com/SpinyMan/lumen-route-param-to-object-middleware)[ Packagist](https://packagist.org/packages/spinyman/lumen-route-param-to-object-middleware)[ RSS](/packages/spinyman-lumen-route-param-to-object-middleware/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

Lumen route param to object middleware
======================================

[](#lumen-route-param-to-object-middleware)

Lumen middleware to use Route parameters as objects (like Laravel does)

This is a route middleware.

Installation:
-------------

[](#installation)

1. `composer require spinyman/lumen-route-param-to-object-middleware`
2. Register middleware in `./bootstrap/app.php`: ```
    $app->routeMiddleware(
        [
            'param2object' => \SpinyMan\LumenRouteParamToObject\Middleware\RouteParamToObject::class,
        ]
    );
    ```
3. Add it to any group route (ex.: RouteServiceProvider): ```
    $this->router->group(
        [
            'middleware' => 'param2object',
        ],
        static function (\Laravel\Lumen\Routing\Router $router) {
            // your code goes here
        }
    );
    ```

Examples
--------

[](#examples)

### Eloquent:

[](#eloquent)

```
//router
$this->router->group(
    [
        'middleware' => 'param2object',
    ],
    static function (\Laravel\Lumen\Routing\Router $router) {
        $this->router->get(
            '/books/{book}',
            'BookController@show'
        );
    }
)
```

```
class Book extends \Illuminate\Database\Eloquent\Model
{
    protected $table = 'books';
}
```

```
class BookController extends \Laravel\Lumen\Routing\Controller {
    public function show(\Laravel\Lumen\Http\Request $request, Book $book)
    {
        $bookId = $book->getKey();
        // your code goes here
    }
}
```

### Simple class:

[](#simple-class)

```
//router
$this->router->group(
    [
        'middleware' => 'param2object',
    ],
    static function (\Laravel\Lumen\Routing\Router $router) {
        $this->router->get(
            '/namer/{namer}',
            'NamerController@run'
        );
    }
)
```

```
// Namer class
class Namer
{
    private $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }

    public  function getName(): string
    {
        return ucfirst(
            strtolower($this->name)
        );
    }
}
```

```
class NamerController extends \Laravel\Lumen\Routing\Controller
{
    public function run(\Laravel\Lumen\Http\Request $request, Namer $namer)
    {
        return $namer->getName();
    }
}
```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

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

1647d ago

### Community

Maintainers

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

---

Top Contributors

[![SpinyMan](https://avatars.githubusercontent.com/u/2108167?v=4)](https://github.com/SpinyMan "SpinyMan (12 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/spinyman-lumen-route-param-to-object-middleware/health.svg)

```
[![Health](https://phpackages.com/badges/spinyman-lumen-route-param-to-object-middleware/health.svg)](https://phpackages.com/packages/spinyman-lumen-route-param-to-object-middleware)
```

###  Alternatives

[rdehnhardt/lumen-maintenance-mode

Define application maintenance mode.

2526.3k1](/packages/rdehnhardt-lumen-maintenance-mode)[michaelb/lumen-make

Lumen make adds more make commands to lumen for jobs, controllers, middleware, etc.

2119.6k](/packages/michaelb-lumen-make)

PHPackages © 2026

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