Skip to content

josantonius/php-http-status-code

Repository files navigation

PHP HTTPStatusCode library

Latest Stable Version Latest Unstable Version License Codacy BadgeTotal Downloads Travis PSR2 PSR4 CodeCov

Versión en español

PHP library to get the meaning from HTTP response status codes.



Requirements

This library is supported by PHP versions 5.6 or higher and is compatible with HHVM versions 3.0 or higher.

Installation

The preferred way to install this extension is through Composer.

To install PHP HTTPStatusCode library, simply:

$ composer require Josantonius/HTTPStatusCode

The previous command will only install the necessary files, if you prefer to download the entire source code you can use:

$ composer require Josantonius/HTTPStatusCode --prefer-source

You can also clone the complete repository with Git:

$ git clone https://github.com/Josantonius/PHP-HTTPStatusCode.git

Or install it manually:

Download HTTPStatusCode.php:

$ wget https://raw.githubusercontent.com/Josantonius/PHP-HTTPStatusCode/master/src/HTTPStatusCode.php

Download HTTPStatusCodeCollection.php:

$ wget https://raw.githubusercontent.com/Josantonius/PHP-HTTPStatusCodeCollection/master/src/HTTPStatusCodeCollection.php

Available Methods

Available methods in this library:

- Get meaning from an HTTP response code:

HTTPStatusCode::get($code, $lang, $size);
Attribute Description Type Required Default
$code HTTP response code. mixed Yes
$lang Language for definition: 'es' or 'en' string No 'en'
$size Definition size: 'short' or 'large' string No 'short'

# Return (string|false) → HTTP status code definition or false if not exists

- Get all meanings in a array:

HTTPStatusCode::getAll($lang);
Attribute Description Type Required Default
$lang Language for definition: 'es' or 'en' string No 'en'

# Return (array|false) → all definitions of HTTP response codes

Quick Start

To use this library with Composer:

require __DIR__ . '/vendor/autoload.php';

use Josantonius\HTTPStatusCode\HTTPStatusCode;

Or If you installed it manually, use it:

require_once __DIR__ . '/HTTPStatusCode.php';

use Josantonius\HTTPStatusCode\HTTPStatusCode;

Usage

Example of use for this library:

- Get the short english meaning of an HTTP response code:

HTTPStatusCode::get(200);

- Get the short spanish meaning of an HTTP response code:

HTTPStatusCode::get(200, 'es');

- Get the detailed english meaning of an HTTP response code:

HTTPStatusCode::get(200, 'en', 'large');

- Get the detailed spanish meaning of an HTTP response code:

HTTPStatusCode::get(200, 'es', 'large');

- Get the short english meaning of an HTTP response code:

HTTPStatusCode::get(200, 'en', 'short');

- Get the short spanish meaning of an HTTP response code:

HTTPStatusCode::get(200, 'es', 'short');

- Get a english HTTP response code array:

HTTPStatusCode::getAll();

- Get a spanish HTTP response code array:

HTTPStatusCode::getAll('es');

List in JSON format

Go to the resource.

Tests

To run tests you just need Composer and to execute the following:

$ git clone https://github.com/Josantonius/PHP-HTTPStatusCode.git

$ cd PHP-HTTPStatusCode

$ composer install

Run unit tests with PHPUnit:

$ composer phpunit

Run PSR2 code standard tests with PHPCS:

$ composer phpcs

Run all previous tests:

$ composer tests

☑ TODO

  • Create tests
  • Improve documentation

Contribute

  1. Check for open issues or open a new issue to start a discussion around a bug or feature.
  2. Fork the repository on GitHub to start making your changes.
  3. Write one or more tests for the new feature or that expose the bug.
  4. Make code changes to implement the feature or fix the bug.
  5. Send a pull request to get your changes merged and published.

This is intended for large and long-lived objects.

Repository

All files in this repository were created and uploaded automatically with Reposgit Creator.

License

This project is licensed under MIT license. See the LICENSE file for more info.

Copyright

2016 -2017 Josantonius, josantonius.com

If you find it useful, let me know 😉

You can contact me on Twitter or through my email.