PHPackages                             n1215/jugoya - 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. [Framework](/categories/framework)
4. /
5. n1215/jugoya

ActiveLibrary[Framework](/categories/framework)

n1215/jugoya
============

A simple HTTP application builder using PSR-15 HTTP Server Request Handler and Middleware.

v1.0.0(8y ago)5258[1 issues](https://github.com/n1215/jugoya/issues)2MITPHPPHP &gt;=7.1.0CI failing

Since May 30Pushed 6y ago1 watchersCompare

[ Source](https://github.com/n1215/jugoya)[ Packagist](https://packagist.org/packages/n1215/jugoya)[ Docs](https://github.com/n1215/jugoya)[ RSS](/packages/n1215-jugoya/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (4)Versions (13)Used By (2)

Jugoya（十五夜）🌕
============

[](#jugoya十五夜)

[![Latest Stable Version](https://camo.githubusercontent.com/0fae5f2c0028b48d2c3cc57850bb172e7f2dccb67821358654fc06bd63975d90/68747470733a2f2f706f7365722e707567782e6f72672f6e313231352f6a75676f79612f762f737461626c65)](https://packagist.org/packages/n1215/jugoya)[![License](https://camo.githubusercontent.com/190c1af4a29ca6faa80f77397e263cc7007b60c5360272697d2ba5bf1fb26815/68747470733a2f2f706f7365722e707567782e6f72672f6e313231352f6a75676f79612f6c6963656e7365)](https://packagist.org/packages/n1215/jugoya)[![Build Status](https://camo.githubusercontent.com/6daaf04778a89f67e74092ef99a4e9870260f6c7d19e130c11518046fcaacaff/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e313231352f6a75676f79612f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/n1215/jugoya/build-status/master)[![Code Coverage](https://camo.githubusercontent.com/cb443f9c6797f09993de4aa87d444d352b97d1d42a64be39478921ad9b845b59/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e313231352f6a75676f79612f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/n1215/jugoya/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/ad60ed2b36c42972e3215cc49a60e0e857c5aaffdd967120bcee268f16aa56d7/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e313231352f6a75676f79612f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/n1215/jugoya/?branch=master)

A simple HTTP application builder using PSR-15 HTTP Server Request Handler and Middleware.

> Jugoya is the Japanese full moon festival on the 15th day of the eighth month of the traditional Japanese calendar.

PSR-15 HTTP Server Handler and Middleware
-----------------------------------------

[](#psr-15-http-server-handler-and-middleware)

[![psr15_middleware](doc/psr15_middleware.png)](doc/psr15_middleware.png)

See [php-fig/fig-standards](https://github.com/php-fig/fig-standards/blob/master/proposed/http-middleware/middleware.md)

What Jugoya does
----------------

[](#what-jugoya-does)

Jugoya create a new instance of RequestHandlerInterface from a instance of RequestHandlerInterface and instances of MiddlewareInterface. [![composition](doc/composition.png)](doc/composition.png)

Code Example
------------

[](#code-example)

```
// 1. register handler and middleware dependencies to the PSR-11 Container
/** @var \Psr\Container\ContainerInterface $container */
$container = new YourContainer();
//
// do stuff
//

// 2. create a builder
$builder = \N1215\Jugoya\RequestHandlerBuilder::fromContainer($container);

// LazyRequestHandlerBuilder resolves handler and middleware lazily.
// $builder = \N1215\Jugoya\LazyRequestHandlerBuilder::fromContainer($container);

// 3. build a request handler
/**
 * You can use one of
 *   * an instance of PSR-15 RequestHandlerInterface
 *   * a callable having the same signature with PSR-15 RequestHandlerInterface
 *   * a string identifier of a PSR-15 RequestHandlerInterface instance in the PSR-11 Container
 *
 * @var RequestHandlerInterface|callable|string $coreHandler
 *
 */
$coreHandler = new YourApplication();

/** @var RequestHandlerInterface $handler */
$handler = $builder->build($coreHandler, [

        // You can use instances of PSR-15 MiddlewareInterface
        new YourMiddleware(),

        // or callables having the same signature with PSR-15 MiddlewareInterface
        function(ServerRequestInterface $request, RequestHandlerInterface $handler) {
            // do stuff
            $response = $handler->handle($request);
            // do stuff
            return $response;
        },

        // or string identifiers of PSR-15 MiddlewareInterface instances in the PSR-11 Container
        YourMiddleware::class,
    ]);

// 4. handle a PSR-7 Sever Request
/** @var Psr\Http\Message\ServerRequestInterface $request */
$request = \Zend\Diactoros\ServerRequestBuilder::fromGlobals();
/** @var \Psr\Http\Message\ResponseInterface $response */
$response = $handler->handle($request);
```

Class diagrams
--------------

[](#class-diagrams)

### Jugoya

[](#jugoya)

[![jugoya](doc/jugoya.png)](doc/jugoya.png)

### Resolver

[](#resolver)

[![resolver](doc/resolver.png)](doc/resolver.png)

### Wrapper

[](#wrapper)

[![wrapper](doc/wrapper.png)](doc/wrapper.png)

License
-------

[](#license)

The MIT License (MIT). Please see [LICENSE](LICENSE) for more information.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 98.4% 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 ~24 days

Total

12

Last Release

3051d ago

Major Versions

v0.7.3 → v1.0.02018-02-21

PHP version history (2 changes)v0.1.0PHP &gt;=5.6.0

v0.5.0PHP &gt;=7.1.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2157593?v=4)[n1215](/maintainers/n1215)[@n1215](https://github.com/n1215)

---

Top Contributors

[![n1215](https://avatars.githubusercontent.com/u/2157593?v=4)](https://github.com/n1215 "n1215 (60 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")

---

Tags

middlewaremiddleware-dispatcherspsr-11psr-15psr-7middlewarepsr-15request-handlerMiddleware Dispatcher

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/n1215-jugoya/health.svg)

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

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k19.1M1.7k](/packages/cakephp-cakephp)[chubbyphp/chubbyphp-framework

A minimal, highly performant middleware PSR-15 microframework built with as little complexity as possible, aimed primarily at those developers who want to understand all the vendors they use.

13645.4k4](/packages/chubbyphp-chubbyphp-framework)[woohoolabs/harmony

Woohoo Labs. Harmony

16513.0k2](/packages/woohoolabs-harmony)[igniphp/framework

Swoole, PSR-7, PSR-15 modular micro anti-framework.

2651.0k1](/packages/igniphp-framework)

PHPackages © 2026

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