Skip to content
Lightweight autodiscovering PSR-17 HTTP factories
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
CHANGELOG.md
LICENSE.md
Makefile
README.md
codecov.yml
composer.json
phpunit.xml.dist

README.md

Autodiscovering PSR-17 HTTP Factories

Latest Version Software License Build Status Coverage

Install

Install the library using Composer.

$ composer require tuupola/http-factory

Usage

Let's assume you have Diactoros installed.

$ composer require zendframework/zend-diactoros

The factories will now automatically return Diactoros PSR-7 instances.

use Tuupola\Http\Factory\RequestFactory;

$request = (new RequestFactory)->createRequest("GET", "https://example.com/");
print get_class($request); /* Zend\Diactoros\Request */

On the other hand if you have Slim frameworks installed.

$ composer remove zendframework/zend-diactoros
$ composer require slim/slim

The factories will now return Slim PSR-7 instances.

use Tuupola\Http\Factory\RequestFactory;

$request = (new RequestFactory)->createRequest("GET", "https://example.com/");
print get_class($request); /* Slim\Http\Request */

This library currently automatically detects and supports zendframework/zend-diactoros, slim/slim, nyholm/psr7 and guzzle/psr7 PSR-7 implementations.

Testing

You can run tests either manually or automatically on every code change. Automatic tests require entr to work.

$ make test
$ brew install entr
$ make watch

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email tuupola@appelsiini.net instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.

You can’t perform that action at this time.