chubbyphp/chubbyphp-framework
最新稳定版本:6.0.1
Composer 安装命令:
composer require 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.
关键字:
README 文档
README
Description
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.
- Basic Coding Standard (1)
- Coding Style Guide (2)
- Logger Interface (3)
- Autoloading Standard (4)
- HTTP Message Interface (7)
- Container Interface (11)
- HTTP Handlers (15)
- HTTP Factories (17)
Requirements
- php: ^8.3
- chubbyphp/chubbyphp-http-exception: ^1.2
- psr/container: ^1.1.2|^2.0.2
- psr/http-factory-implementation: ^1.0
- psr/http-factory: ^1.1
- psr/http-message-implementation: ^1.0|^2.0
- psr/http-message: ^1.1|^2.0
- psr/http-server-handler: ^1.0.2
- psr/http-server-middleware: ^1.0.2
- psr/log: ^2.0|^3.0.2
Suggest
Router
Any Router which implements Chubbyphp\Framework\Router\RouteMatcherInterface can be used.
- chubbyphp/chubbyphp-framework-router-fastroute: ^2.3
- chubbyphp/chubbyphp-framework-router-symfony: ^2.3
PSR 7 / PSR 17
- guzzlehttp/psr7: ^2.7 (with http-interop/http-factory-guzzle: ^1.2)
- laminas/laminas-diactoros: ^3.5
- nyholm/psr7: ^1.8.2
- slim/psr7: ^1.7
- sunrise/http-message: ^3.2
Installation
Through Composer as chubbyphp/chubbyphp-framework.
composer require chubbyphp/chubbyphp-framework "^6.0" \ chubbyphp/chubbyphp-framework-router-fastroute "^2.3" \ slim/psr7 "^1.7"
Usage
<?php declare(strict_types=1); namespace App; use Chubbyphp\Framework\Application; use Chubbyphp\Framework\Middleware\ExceptionMiddleware; use Chubbyphp\Framework\Middleware\RouteMatcherMiddleware; use Chubbyphp\Framework\RequestHandler\CallbackRequestHandler; use Chubbyphp\Framework\Router\FastRoute\RouteMatcher; use Chubbyphp\Framework\Router\Route; use Chubbyphp\Framework\Router\RoutesByName; use Psr\Http\Message\ServerRequestInterface; use Slim\Psr7\Factory\ResponseFactory; use Slim\Psr7\Factory\ServerRequestFactory; require __DIR__.'/vendor/autoload.php'; $responseFactory = new ResponseFactory(); $app = new Application([ new ExceptionMiddleware($responseFactory, true), new RouteMatcherMiddleware(new RouteMatcher(new RoutesByName([ Route::get('/hello/{name:[a-z]+}', 'hello', new CallbackRequestHandler( static function (ServerRequestInterface $request) use ($responseFactory) { $response = $responseFactory->createResponse(); $response->getBody()->write(sprintf('Hello, %s', $request->getAttribute('name'))); return $response; } )) ]))), ]); $app->emit($app->handle((new ServerRequestFactory())->createFromGlobals()));
Emitter
Middleware
- CallbackMiddleware
- ExceptionMiddleware
- LazyMiddleware
- PipeMiddleware
- RouteMatcherMiddleware
- SlimCallbackMiddleware
- SlimLazyMiddleware
RequestHandler
- CallbackRequestHandler
- LazyRequestHandler
- RouteRequestHandler
- SlimCallbackRequestHandler
- SlimLazyRequestHandler
Router
Server
Skeleton
Migration
Copyright
2025 Dominik Zogg
统计信息
- 总下载量: 42.38k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 134
- 点击次数: 1
- 依赖项目数: 7
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-04-06