h4cc / stack-psr7-bridge
将 Symfony Http 抽象转换为 PSR-7 并反向转换的 StackPHP 中间件。
v0.1
2015-06-08 07:35 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ~4.0
- psr/http-message: ^1.0
- stack/callable-http-kernel: ~1.0
- symfony/http-foundation: ~2.1
- symfony/http-kernel: ~2.1
- symfony/psr-http-message-bridge: ~0.1
- zendframework/zend-diactoros: ~1.0
This package is not auto-updated.
Last update: 2024-09-18 09:16:50 UTC
README
StackPHP 中间件,用于使用 Symfony HttpKernel 应用程序和 PSR-7 应用程序透明化。
此中间件试图使使用 Symfony HttpKernel 应用程序和 PSR-7 尽可能简单。
封装的应用程序可以是
- 任何 Symfony HttpKernel
- 任何期望
function(RequestInterface $request, ResponseInterface $response, $next = null)
的回调
无论封装的是何种类型的应用程序,桥接器都会相应地转换传入的请求和传出的响应,以匹配使用的接口。
此中间件基于的实现在 https://github.com/symfony/psr-http-message-bridge。
用法
默认情况下,使用 Symfony HttpFoundation 和 HttpKernel。对于 PSR-7,使用 Zend-Diactoros 实现。如果需要,可以更改这些实现。
封装 HttpKernel
<?php $bridge = new Psr7Bridge($yourHttpKernel); // Handling PSR-7 requests $psr7Response = $bridge->__invoke($psr7Request, $psr7Response); // Handling Symfony requests $symfonyResponse = $bridge->_handle($symfonyRequest);
封装 PSR-7 回调
PHP-FIG 尚未定义期望的 PSR-7 回调格式,可能需要更改!
<?php $psr7Callback = function(RequestInterface $request, ResponseInterface $response, $next = null) { // Creating a PSR-7 Response here ... }; $bridge = new Psr7Bridge($psr7Callback); // Handling PSR-7 requests $psr7Response = $bridge->__invoke($psr7Request, $psr7Response); // Handling Symfony requests $symfonyResponse = $bridge->_handle($symfonyRequest);
安装
安装 stack-psr7-bridge 的推荐方式是通过 Composer
composer require h4cc/stack-psr7-bridge
小贴士:你应该浏览 h4cc/stack-psr7-bridge
页面以选择要使用的稳定版本,避免使用 @stable
元约束。
许可证
h4cc/stack-psr7-bridge 在 MIT 许可证下发布。有关详细信息,请参阅附带 LICENSE 文件。