middlewares / shutdown
显示503维护页面的中间件
v2.0.1
2020-12-02 00:06 UTC
Requires
- php: ^7.2 || ^8.0
- middlewares/utils: ^3.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- laminas/laminas-diactoros: ^2.3
- oscarotero/php-cs-fixer-config: ^1.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8|^9
- squizlabs/php_codesniffer: ^3.0
README
显示503维护页面的中间件。
要求
- PHP >= 7.2
- 一个PSR-7 http库
- 一个PSR-15中间件分发器
安装
此包可以通过Composer以middlewares/shutdown方式安装和自动加载。
composer require middlewares/shutdown
示例
$dispatcher = new Dispatcher([ (new Middlewares\Shutdown())->retryAfter(60 * 5) ]); $response = $dispatcher->dispatch(new ServerRequest());
使用方法
此中间件会在服务器处于维护状态时生成一个503
响应。可选地,您可以提供一个用于创建响应的Psr\Http\Message\ResponseFactoryInterface
。如果未定义,将使用Middleware\Utils\Factory自动检测。
$responseFactory = new MyOwnResponseFactory(); $maintenance = new Middlewares\Shutdown($responseFactory);
retryAfter
如果已知,则表示停机时间(以秒为单位)或预计的完成时间和日期。有关此信息的更多信息,请参阅此处
//Retry after 5 minutes $maintenance = (new Middlewares\Shutdown())->retryAfter(60 * 5); //You can use also a DateTimeInterface object $maintenance = (new Middlewares\Shutdown())->retryAfter(new Datetime('+5 minutes'));
render
使用此选项通过提供一个返回字符串的可调用对象来自定义响应内容
//Load a html file $maintenance = (new Middlewares\Shutdown())->render(function () { return file_get_contents('503.html'); });
有关最近更改的更多信息,请参阅变更日志,有关贡献细节,请参阅贡献指南。
MIT许可证(MIT)。有关更多信息,请参阅许可证。