GitHunt
CH

chubbyphp-legacy/chubbyphp-framework-router-sunrise

Sunrise Router implementation for chubbyphp-framework.

chubbyphp-framework-router-sunrise

CI
Coverage Status
Infection MSI
Latest Stable Version
Total Downloads
Monthly Downloads

bugs
code_smells
coverage
duplicated_lines_density
ncloc
sqale_rating
alert_status
reliability_rating
security_rating
sqale_index
vulnerabilities

Description

Sunrise Router implementation for chubbyphp-framework.

DEPRECATED: I suggest to use chubbyphp-framework-router-fastroute.

Requirements

Installation

Through Composer as chubbyphp/chubbyphp-framework-router-sunrise.

composer require chubbyphp/chubbyphp-framework-router-sunrise "^2.0"

Usage

<?php

declare(strict_types=1);

namespace App;

use Chubbyphp\Framework\Application;
use Chubbyphp\Framework\Middleware\ExceptionMiddleware;
use Chubbyphp\Framework\Middleware\RouterMiddleware;
use Chubbyphp\Framework\RequestHandler\CallbackRequestHandler;
use Chubbyphp\Framework\Router\Sunrise\Router;
use Chubbyphp\Framework\Router\Route;
use Psr\Http\Message\ServerRequestInterface;
use Slim\Psr7\Factory\ResponseFactory;
use Slim\Psr7\Factory\ServerRequestFactory;

$loader = require __DIR__.'/vendor/autoload.php';

$responseFactory = new ResponseFactory();

$app = new Application([
    new ExceptionMiddleware($responseFactory, true),
    new RouterMiddleware(new SunriseRouter([
        Route::get('/hello/{name<[a-z]+>}', 'hello', new CallbackRequestHandler(
            function (ServerRequestInterface $request) use ($responseFactory) {
                $name = $request->getAttribute('name');
                $response = $responseFactory->createResponse();
                $response->getBody()->write(sprintf('Hello, %s', $name));

                return $response;
            }
        ))
    ])),
]);

$app->emit($app->handle((new ServerRequestFactory())->createFromGlobals()));

2023 Dominik Zogg

Languages

PHP100.0%

Contributors

MIT License
Created June 22, 2020
Updated July 6, 2024
chubbyphp-legacy/chubbyphp-framework-router-sunrise | GitHunt