yiisoft/http

HTTP 协议头、方法和状态的常量以及 PSR-7、PSR-17 的 PhpStorm 元数据

1.2.0 2021-11-09 09:42 UTC

This package is auto-updated.

Last update: 2024-09-18 15:11:21 UTC


README

Yii

Yii HTTP


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis

该包提供

  • HTTP 协议头、方法和状态的常量。所有常量都附有简短描述和 RFC 链接。
  • PSR-7、PSR-17 的 PhpStorm 元数据,用于 HTTP 协议头、方法和状态。
  • ContentDispositionHeader 提供静态方法来生成 Content-Disposition 头名称和值。
  • HeaderValueHelper 提供静态方法来解析头部值参数。

要求

  • PHP 7.4 或更高版本。

安装

可以使用 Composer 安装此包

composer require yiisoft/http

方法常量

可以按以下方式引用单个 HTTP 方法:

use Yiisoft\Http\Method;

Method::GET;
Method::POST;
Method::PUT;
Method::DELETE;
Method::PATCH;
Method::HEAD;
Method::OPTIONS;

要获取这些方法的列表,使用

use Yiisoft\Http\Method;

Method::ALL;

HTTP 状态码

可以按名称引用状态码如下:

use Yiisoft\Http\Status;

Status::NOT_FOUND;

可以按以下方式获取状态文本:

use Yiisoft\Http\Status;

Status::TEXTS[Status::NOT_FOUND];

ContentDispositionHeader 使用方法

ContentDispositionHeader 方法是静态的,所以使用方式如下:

use Yiisoft\Http\ContentDispositionHeader;

$name = ContentDispositionHeader::name();

$value = ContentDispositionHeader::value(
    ContentDispositionHeader::INLINE,
    'avatar.png',
);

$value = ContentDispositionHeader::inline('document.pdf');

$value = ContentDispositionHeader::attachment('document.pdf');

HeaderValueHelper 使用方法

HeaderValueHelper 提供以下静态方法:

use Yiisoft\Http\HeaderValueHelper;

// Result: ['a' => '1', 'b' => '2']
HeaderValueHelper::getParameters('a=1;b=2');

// Result: ['value', 'a' => '1', 'b' => '2']
HeaderValueHelper::getValueAndParameters('value;a=1;b=2'));

// Result: [['value2', 'q' => 1.0], ['value1', 'q' => 0.2]]
HeaderValueHelper::getSortedValueAndParameters('value1;q=0.2,value2'));

// Result: ['text/xml', 'text/html']
HeaderValueHelper::getSortedAcceptTypes('text/html;q=0.2,text/xml;q=0.4'));

PSR-7 和 PSR-17 的 PhpStorm 元数据

该包包括 PhpStorm 元数据文件,有助于 IDE 在以下情况下提供值,例如在完成代码时:

use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ResponseInterface;
use Yiisoft\Http\Header;
use Yiisoft\Http\Status;

class StaticController
{
    private ResponseFactoryInterface $responseFactory;

    public function actionIndex(): ResponseInterface
    {
        return $this->responseFactory
            ->createResponse()
            ->withStatus(Status::OK)
            ->withoutHeader(Header::ACCEPT);
    }
}

文档

如果您需要帮助或有疑问,可以在 Yii 论坛 上找到答案。您还可以查看其他 Yii 社区资源

许可证

Yii HTTP 是免费软件。它根据 BSD 许可证条款发布。有关更多信息,请参阅 LICENSE

Yii 软件 维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack