yiisoft / http
Constants and PSR-7 PhpStorm meta for HTTP protocol headers, methods and statuses
Fund package maintenance!
Opencollective
yiisoft
Installs: 648 398
Dependents: 67
Suggesters: 0
Security: 0
Stars: 27
Watchers: 16
Forks: 9
Open Issues: 2
pkg:composer/yiisoft/http
Requires
- php: ^7.4|^8.0
- yiisoft/strings: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- roave/infection-static-analysis-plugin: ^1.10
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.12
This package is auto-updated.
Last update: 2025-10-16 06:30:11 UTC
README
Yii HTTP
The package provides:
- Constants for HTTP protocol headers, methods and statuses. All along with short descriptions and RFC links.
- PSR-7, PSR-17 PhpStorm meta for HTTP protocol headers, methods and statuses.
ContentDispositionHeaderthat has static methods to generateContent-Dispositionheader name and value.HeaderValueHelperthat has static methods to parse the header value parameters.
Requirements
- PHP 7.4 or higher.
mbstringPHP extension.
Installation
The package could be installed with Composer:
composer require yiisoft/http
Method constants
Individual HTTP methods could be referenced as
use Yiisoft\Http\Method; Method::GET; Method::POST; Method::PUT; Method::DELETE; Method::PATCH; Method::HEAD; Method::OPTIONS;
To have a list of these, use:
use Yiisoft\Http\Method; Method::ALL;
HTTP status codes
Status codes could be referenced by name as:
use Yiisoft\Http\Status; Status::NOT_FOUND;
Status text could be obtained as the following:
use Yiisoft\Http\Status; Status::TEXTS[Status::NOT_FOUND];
ContentDispositionHeader usage
ContentDispositionHeader methods are static so usage is like the following:
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 usage
HeaderValueHelper provides the following static methods:
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 and PSR-17 PhpStorm meta
The package includes PhpStorm meta-files that help IDE to provide values when completing code in cases such as:
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); } }
Documentation
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
License
The Yii HTTP is free software. It is released under the terms of the BSD License.
Please see LICENSE for more information.
Maintained by Yii Software.