attwframework / http
AttwFramework的HTTP组件
Requires
- php: >=5.3.0
- attwframework/tool: dev-master
This package is auto-updated.
Last update: 2024-09-16 03:46:35 UTC
README
AttwFramework的HTTP组件。
##Composer
###下载
{
"require": {
"attwframework/http": "dev-master"
}
}
##如何使用
###请求
这个类用于处理HTTP请求。每个请求都有一个在\Attw\Http\Request上的属性,该属性返回一个\Attw\Http\Request\Method\RequestsCollection实例,它扩展了\Attw\Tool\Collection\ArrayCollection。
每个属性的值可以在请求类的构造函数中定义。如果为null(array()),则值将是全局属性($_GET、$_POST、$_FILES、$_SERVER、$_COOKIE)。
参数顺序:Request([array $query = array(), [array $post = array(), [array $files = array(), [array $server = array(), [array $cookies = array()]]]]])
####全局示例
use Attw\Http\Request; $_GET['foo'] = 'bar'; $request = new Request(); echo $request->query->get('foo');// bar
无全局
use Attw\Http\Request; $request = new Request(['bar' => 'foo']); echo $request->query->get('bar');// foo
###响应
使用它,您可以向客户端发送响应。如果请求成功执行(状态码为200)或失败(状态码不是200),则响应将发送到客户端,内容类型(HTML、JSON、图像等)和其他头部。
您可以创建一个头部集合一次性发送所有头部,也可以逐个发送。
在\Attw\Http\Response实例中,您可以定义当前状态码和使用的HTTP协议版本:Response([$statusCode = 200, [$protocol = 'HTTP/1.1']])。
####示例:发送一个头部
use Attw\Http\Response; $response = new Response(); $response->sendHeader('Location', 'http://foo.bar'); //will redirect to http://foo.bar
发送多个头部
$response->addHeader('Content-type', 'text/html'); $response->addHeader('Charset=UTF-8'); $response->sendAllHeaders();
###Cookies
Cookie基本上是服务器请求客户端保存的一些数据。每次您访问该域时,您的机器都会向它发送所有保存到它的cookie。一个cookie仅属于您,属于您的机器。
用于设置cookie的类是\Attw\Http\Cookie\Cookies,用于读取cookie的类是\Attw\Http\Request。
####示例
use Attw\Http\Cookie\Cookie; use Attw\Http\Cookie\Cookies; use Attw\Http\Request; $cookies = new Cookies(); $cookie = new Cookie('foo', 'bar');//name: foo; value: bat $cookies->set($cookie); $request = new Request(); echo $request->cookie->get('foo');// bar