gino-pane / nano-http-status
Truly minimalistic and self-contained package to handle HTTP statuses and relevant description messages
Requires
- php: ^7.0
Requires (Dev)
- phpdocumentor/phpdocumentor: ^2.0
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^6.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-10-26 05:56:36 UTC
README
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
- Fork it.
- Create your feature branch (git checkout -b my-new-feature).
- Make your changes.
- Run the tests, adding new ones for your own code if necessary (phpunit).
- Commit your changes (git commit -am 'Added some feature').
- Push to the branch (git push origin my-new-feature).
- Create new pull request.
Also please refer to CONTRIBUTION.md.
License
Please refer to LICENSE.
Notes
Powered by composer-package-template