The missing PHP constants definition for header fields of your HTTP requests and responses.
Stop repeating string identifiers and placing typos of HTTP headers in your code!
Could be used when interacting with headers using pure PHP, Guzzle, Symfony HttpFoundation, Zend HTTP, Zend Diactoros etc.
Contains all ~200 constants for headers defined in IANA list (both Permanent and Provisional) and some common non-standard headers based on Wikipedia list.
$ composer require lmc/http-constants
Note you will need to have Composer installed to do this.
<?php
namespace My;
use Lmc\HttpConstants\Header;
class Example
{
public function exampleWithGuzzle()
{
$client = new \GuzzleHttp\Client();
$response = $client->request(
'GET',
'https://api.foo/bar',
['headers' => [Header::ACCEPT_ENCODING => 'gzip']]
);
echo $response->getHeaderLine(Header::CONTENT_TYPE);
}
public function exampleWithSymfonyHttpFoundation()
{
$response = new \Symfony\Component\HttpFoundation\Response();
$response->headers->set(Header::ACCESS_CONTROL_ALLOW_ORIGIN, 'www.jobs.cz');
}
public function exampleWithPurePhp()
{
header(Header::CONTENT_TYPE . ': application/pdf');
header(Header::CACHE_CONTROL . ': no-cache, must-revalidate');
}
}
For latest changes see CHANGELOG.md file. We follow Semantic Versioning.
The library is open source software licensed under the MIT license.