PHPackages                             hkinnoteam/zmiddleware - 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. hkinnoteam/zmiddleware

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

hkinnoteam/zmiddleware
======================

1.0.2(5y ago)05051PHP

Since Nov 17Pushed 5y agoCompare

[ Source](https://github.com/hkinnoteam/zmidlleware)[ Packagist](https://packagist.org/packages/hkinnoteam/zmiddleware)[ RSS](/packages/hkinnoteam-zmiddleware/feed)WikiDiscussions master Synced today

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

How to use Zmiddleware
======================

[](#how-to-use-zmiddleware)

Install
-------

[](#install)

> composer require "hkinnoteam/zmidlleware"

Implementation
--------------

[](#implementation)

- create a class which implement **ZMiddleware\\Contract\\MiddlewareInterface**

```
use ZMiddleware\Contract\MiddlewareInterface;
class AssignResultMiddleware implements MiddlewareInterface
{

    public function handle($pass, \Closure $next)
    {
        // before request
        $validate = true;
        if ($validate){
            return 'not allow';
        }

        // request method
        $number = $next($pass);

        //after request
        $number->total_qty = 100;
        return $number;
    }
}
```

Add annotation into your api method
-----------------------------------

[](#add-annotation-into-your-api-method)

```
use AssignResultMiddleware;
use ZMiddleware\Annotations\Middleware;
class Foo
{

    /**
     * single middleware
     *
     * @Middleware(AssignResultMiddleware::class)
     * @return object
     */
    public static function Foo(): object
    {
        $foo = new \stdClass();
        return $foo;
    }
}
```

> you can also assign multiple middlewares

```
use AssignBooMiddleware;
use AssignFooMiddleware;
use ZMiddleware\Annotations\Middlewares;
use ZMiddleware\Annotations\Middleware;
class Foo
{

    /**
     * multiple middlewares
     *
     * @Middlewares({
     *     @Middleware(AssignBooMiddleware::class)
     *     @Middleware(AssignFooMiddleware::class)
     * })
     * @return object
     */
    public static function Foo(): object
    {
        $foo = new \stdClass();
        return $foo;
    }
}
```

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

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

Total

3

Last Release

2002d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/56672404?v=4)[lllllllouis](/maintainers/Louis-Ni)[@Louis-Ni](https://github.com/Louis-Ni)

### Embed Badge

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

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

###  Alternatives

[akeneo/pim-community-dev

Akeneo PIM, the future of catalog management is open!

1.0k624.1k86](/packages/akeneo-pim-community-dev)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

54681.3k17](/packages/solspace-craft-freeform)[metamodels/core

MetaModels core

10156.4k68](/packages/metamodels-core)[hostnet/entity-tracker-component

Provides an event when a Tracked entity changes

16160.8k9](/packages/hostnet-entity-tracker-component)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k60](/packages/open-dxp-opendxp)[oat-sa/generis

TAO generis library

10148.8k122](/packages/oat-sa-generis)

PHPackages © 2026

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