Skip to content

The missing PHP constants for HTTP header fields

License

Notifications You must be signed in to change notification settings

lmc-eu/http-constants

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HTTP Header Fields Constants for PHP

Latest Stable Version GitHub Actions Build Status Total Downloads

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.

Install

$ composer require lmc/http-constants

Note you will need to have Composer installed to do this.

Usage

<?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');
    }
}

Changelog

For latest changes see CHANGELOG.md file. We follow Semantic Versioning.

License

The library is open source software licensed under the MIT license.

About

The missing PHP constants for HTTP header fields

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages