Alexya的HTTP组件

3.0.2 2017-06-05 14:14 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:31:14 UTC


README

Alexya的HTTP组件

内容

请求

\Alexya\Http\Request为请求超级全局变量($_GET$_POST...)提供了一个包装器。

您可以使用main方法获取请求。

构造函数接受以下参数

  • 一个字符串,表示请求的URI。
  • 一个数组,表示GET参数。
  • 一个数组,表示POST参数。
  • 一个数组,表示COOKIE参数。
  • 一个数组,表示SERVER参数。

示例

<?php

$request = new \Alexya\Http\Request(
    $_SERVER["REQUEST_URI"],
    $_GET,
    $_POST,
    $_COOKIES,
    $_FILES,
    $_SERVER
); // Which is the same as `$request = \Alexya\Http\Request::main();`

echo $request->get["param_name"];

foreach($request->headers as $key => $value) {
    echo "Requested header: {$key}: {$value}";
}

响应

\Alexya\Http\Response提供了一种创建和发送HTTP响应的方式。

构造函数接受以下参数(所有参数都是可选的)

  • 一个数组,表示头部信息。
  • 一个字符串,表示响应体。
  • 一个整数,表示状态码(或一个表示状态名称的字符串)。

要发送请求,请使用send方法。

要添加新的头部信息,请使用接受字符串作为参数的header方法,该字符串表示头部名称,其值可以是字符串或数组。

status方法设置响应的状态码,它可以是整数或字符串(请参阅Response::responseCodes)。

redirect方法通过头部发送重定向响应。它接受参数为重定向的URL、重定向方法("Refresh"或"Location")以及重定向的状态码。

示例

<?php

$request = new Request();

$request->header("Content-Type", "text/html");
$request->status(200);
$request->body("<h1>Hello World</h1>");

Request::redirect("/Home");