apatis / prima
性能最慢的微框架
1.0.6
2018-03-10 13:25 UTC
Requires
- php: ^7.0
- apatis/callback_resolver: ~1
- apatis/config: ~1
- apatis/container: ~1
- apatis/exception: ~1
- apatis/handler-response: ~1
- apatis/http-cookie: ~1
- apatis/http-message: ~1
- apatis/middleware: ~1
- apatis/route: ~1.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-26 00:29:52 UTC
README
性能最慢的微框架
需求
Php 7.0 or later
用法
<?php use Apatis\Middleware\MiddlewareStorage; use Apatis\Prima\Service; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\ResponseInterface; $app = new Service(); // add middleware $app->addMiddleware(function ( ServerRequestInterface $request, ResponseInterface $response, // callable or object invokable // this commonly use MiddlewareStorage $next ) : ResponseInterface { // example of use json as return header $response = $response->withHeader('Content-Type', 'application/json; charset=utf-8'); return $next($request, $response); }); // add route $app->get('/{endpoint: [a-zA-Z0-9]+}[/]', function (ServerRequestInterface $request, ResponseInterface $response, array $params) { $body = $response->getBody(); $data = [ 'method' => $request->getMethod(), 'endpoint' => $params['endpoint'] ]; $body->write(json_encode($data)); return $response->withBody($body); }); $app->serve();
配置
<?php /** * List of Existing configuration * The values is default configuration */ $defaultConfiguration = [ /** * clear the stored middleware after successfully called * @var boolean */ 'clearMiddlewareAfterExecute' => true, /** * display details error * @var boolean */ 'displayErrors' => false, /** * Dispatch route first before Middleware called * @var bool */ 'dispatchRouteBeforeMiddleware' => false, /** * Handle Shutdown * @var bool */ 'handleShutdown' => true, /** * http version (HTTP/[httpVersion]) * @var string */ 'httpVersion' => '1.1', /** * resolve CLI Request * set into boolean -> true if the Request need to auto resolve * for CLI Request * @var boolean */ 'resolveCLIRequest' => true, /** * fix http scheme if use behind proxy * @var boolean */ 'fixProxy' => true, /** * append content length into headers * @var boolean */ 'setContentLength' => false, /** * allow empty response code to be serve : code 204, 205, 304 * @var boolean */ 'serveEmptyResponse' => false, /** * add buffer * @var boolean */ 'useBuffer' => true, /** * response chunk size read from stream * @var integer */ 'responseChunkSize' => 4096, /** * Full path for route cache file * @var string */ 'routerCacheFile' => false, /** * by default middleware called last set first, use `sortMiddleware` to re-arrange first * middleware to be called * @var boolean */ 'sortMiddleware' => false, ];
注意
默认情况下,按顺序排序的中间件仅在服务上可用
许可证
捐赠
考虑捐赠以购买一杯咖啡
BTC
1FExTzXo9NxH9M5aG5P9LdKkmzYuVrXMd9
Stellar
GBSQSRG66HBDG5MYSVNDGHZS63UQGGRA7BF36USIMJMXZ42W5CGMZAS
Ethereum
0x32e885a1b55efaE2884Af06513bf434002700c88