PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Sergey Karavay   Nano Http Status   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Nano Http Status
Process the HTTP request response status values
Author: By
Last change: Updates:
- updated README.
Date: 7 years ago
Size: 4,794 bytes
 

Contents

Class file image Download

PHP Nano Http Status

Latest Stable Version Build Status Maintainability Test Coverage Scrutinizer Code Quality License composer.lock Total Downloads

Truly minimalistic and self-contained package to handle HTTP statuses and relevant description messages. Such packages as Teapot or Httpstatus are nice and famous, but still either too heavy and over-complicated or simply does not fit to Gino Pane's high code quality standards.

Requirements

  • PHP >= 7.0;

Features

  • The full list of HTTP status codes as readable constants;
  • relevant status messages;
  • ability to customize messages;
  • ability to easily detect the class of the status;
  • no dependencies in production;
  • integrated tools for code quality, testing and building docs.

Installation

composer require gino-pane/nano-http-status

Basic Usage

Check existence of the code (using numeric codes or nice readable constants):

(new NanoHttpStatus())->statusExists(200); //true
(new NanoHttpStatus())->statusExists(400); //true
(new NanoHttpStatus())->statusExists(451); //true
(new NanoHttpStatus())->statusExists(511); //true
(new NanoHttpStatus())->statusExists(522); //false

Detect the class of the code using code numbers:

(new NanoHttpStatus())->isInformational(NanoHttpStatus::HTTP_OK); //false
(new NanoHttpStatus())->isSuccess(202);         //true
(new NanoHttpStatus())->isRedirection(301);     //true
(new NanoHttpStatus())->isClientError(404);     //true
(new NanoHttpStatus())->isServerError(NanoHttpStatus::HTTP_BAD_REQUEST); //false

Get status message by status code:

(new NanoHttpStatus())->getMessage(200); //OK
(new NanoHttpStatus())->getMessage(451); //Unavailable For Legal Reasons
(new NanoHttpStatus())->getMessage(452); //Undefined Status

Set localization mapping and get custom status messages:

$status = new NanoHttpStatus([
    NanoHttpStatus::HTTP_BAD_REQUEST => 'Very bad request',
    NanoHttpStatus::HTTP_BAD_GATEWAY => 'Not so bad gateway'
]);

$status->getMessage(400); //'Very bad request'
$status->getMessage(502); //'Not so bad gateway'

Please note, that `NanoHttpStatus` itself does not throw any exceptions for invalid statuses.

Useful Tools

Running Tests:

php vendor/bin/phpunit

or

composer test

Code Sniffer Tool:

php vendor/bin/phpcs --standard=PSR2 src/

or

composer psr2check

Code Auto-fixer:

php vendor/bin/phpcbf --standard=PSR2 src/ 

or

composer psr2autofix

Building Docs:

php vendor/bin/phpdoc -d "src" -t "docs"

or

composer docs

Changelog

To keep track, please refer to CHANGELOG.md.

Contributing

  1. Fork it.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Make your changes.
  4. Run the tests, adding new ones for your own code if necessary (phpunit).
  5. Commit your changes (git commit -am 'Added some feature').
  6. Push to the branch (git push origin my-new-feature).
  7. Create new pull request.

Also please refer to CONTRIBUTION.md.

License

Please refer to LICENSE.

Notes

Powered by composer-package-template