aura / web
为网页控制器和动作提供网页请求和响应对象。这些是PHP网页环境的表示,而不是真正的HTTP请求和响应对象。
2.2.1
2024-03-04 06:40 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- aura/di: ~2.0
- yoast/phpunit-polyfills: ~1.0
README
为网页控制器和动作提供 Request 和 Response 对象。这些是PHP网页环境的表示,而不是真正的HTTP请求和响应对象。
前言
安装
此库需要PHP 5.3或更高版本;我们原则上建议使用最新版本的PHP。它没有用户空间依赖。
可以通过Composer安装和自动加载,地址为aura/web。
或者,下载发行版或克隆此存储库,然后需要或包含其autoload.php文件。
质量
要在命令行中运行单元测试,请发出composer install
,然后在包根目录下运行./vendor/bin/phpunit
。这需要Composer作为composer
可用。
此库试图遵守PSR-1、PSR-2和PSR-4。如果您注意到遵守上的疏忽,请通过拉取请求发送补丁。
社区
要提问、提供反馈或与Aura社区进行其他沟通,请加入我们的Google Group、关注@auraphp或在Freenode的#auraphp上与我们聊天。
入门
实例化
首先,实例化一个WebFactory对象,然后使用它来创建Request和Response对象。
<?php use Aura\Web\WebFactory; $web_factory = new WebFactory($GLOBALS); $request = $web_factory->newRequest(); $response = $web_factory->newResponse(); ?>
注意,如果启用了jit-globals
,仅传递$GLOBALS
将无法正确工作。在这种情况下,请使用compact()
传递所需值。例如
<?php use Aura\Web\WebFactory; $web_factory = new WebFactory(array( '_ENV' => $_ENV, '_GET' => $_GET, '_POST' => $_POST, '_COOKIE' => $_COOKIE, '_SERVER' => $_SERVER )); $request = $web_factory->newRequest(); $response = $web_factory->newResponse(); ?>
请求和响应对象
由于每个对象包含很多功能,我们将文档分为请求页面和响应页面。
概述,Request对象有这些子对象...
- $request->cookies 对应于 $_COOKIES
- $request->env 对应于 $_ENV
- $request->files 对应于 $_FILES
- $request->post 对应于 $_POST
- $request->query 对应于 $_GET
- $request->server 对应于 $_SERVER
- $request->client 对应于发起请求的客户端
- 请求的原始体为 $request->content
- 请求头为 $request->headers
- 请求方法为 $request->method
- 路径信息参数为 $request->params
- 请求URL为 $request->url
... 以及 Response 对象包含以下子对象
- 状态码、状态描述和HTTP版本为 $response->status
- 非cookie头为 $response->headers
- cookie头为 $response->cookies
- 响应内容描述,以及与内容类型、字符集、处理方式和文件名相关的便捷方法为 $response->content
- 与缓存头相关的便捷方法为 $response->cache
- 与Location和状态相关的便捷方法为 $response->redirect
构建好 Response 对象后,您可以使用任何您喜欢的HTTP机制发送它,包括纯PHP。