binsoul/ net-http-response
专业的响应和体类以及响应发射器
dev-master / 1.0.x-dev
2016-04-27 19:57 UTC
Requires
- php: ^7.0
- binsoul/common: ~1.0@dev
- binsoul/io-stream: ~1.0@dev
- binsoul/net: ~1.0@dev
- binsoul/net-http-message-bridge: ~1.0@dev
- binsoul/net-http-message-message: ~1.0@dev
Requires (Dev)
- fabpot/php-cs-fixer: ^1.0
- phpunit/phpunit: ^5.0
This package is auto-updated.
Last update: 2024-09-14 22:31:22 UTC
README
安装
通过 composer
$ composer require binsoul/net-http-response
此包提供了与 PSR-7 ResponseInterface 兼容的响应类,这些类针对已知的 HTTP 状态码和体实现进行了专门化,并扩展了 PSR-7 StreamInterface 以包含一些有用的方法。包含的响应发射器可以将响应输出到不同的目标环境。
用法
在 web 服务器上输出文本响应
<?php use BinSoul\Net\Http\Response\Body\Type\TextBody; use BinSoul\Net\Http\Response\Emitter\DefaultEmitter; use BinSoul\Net\Http\Response\Emitter\Target\SapiTarget; use BinSoul\Net\Http\Response\Type\Success\OkResponse; require 'vendor/autoload.php'; $response = new OkResponse(new TextBody('Hello world!')); $emitter = new DefaultEmitter(); $emitter->emit($response, new SapiTarget());
捕获并显示响应头和体
<?php use BinSoul\Net\Http\Response\Body\Type\TextBody; use BinSoul\Net\Http\Response\Emitter\DefaultEmitter; use BinSoul\Net\Http\Response\Emitter\Target\CaptureTarget; use BinSoul\Net\Http\Response\Type\Success\OkResponse; require 'vendor/autoload.php'; // make var_export HTML friendly function dump($value) { return htmlentities(preg_replace("/\s+=>\s+/m", ' => ', var_export($value, true))); } $response = new OkResponse(new TextBody('Hello world!')); $target = new CaptureTarget(); $emitter = new DefaultEmitter(); $emitter->emit($response, $target); ?> <!DOCTYPE html> <html> <body> <h1>Headers</h1> <pre><?= dump($target->getHeaders()) ?></pre> <h1>Body</h1> <pre><?= dump($target->getBody()) ?></pre> </body> </html>
测试
$ composer test
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。