Fixed a bug where not all request headers were available when running under apache server. |
||
|---|---|---|
| docker | ||
| docs | ||
| public | ||
| src | ||
| test | ||
| .env | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| README.md | ||
| composer.json | ||
| composer.lock | ||
| docker-compose.yml | ||
| phpunit.xml.dist | ||
README.md
WellRESTed
WellRESTed is a library for creating RESTful Web services and websites in PHP.
Requirements
- PHP 7.0
Install
Add an entry for "wellrested/wellrested" to your composer.json file's require property.
{
"require": {
"wellrested/wellrested": "^4"
}
}
Documentation
See the documentation to get started.
Example
<?php
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use WellRESTed\Message\Response;
use WellRESTed\Message\Stream;
use WellRESTed\Server;
// Create a handler using the PSR-15 RequestHandlerInterface
class HomePageHandler implements RequestHandlerInterface
{
public function handle(ServerRequestInterface $request): ResponseInterface
{
// Create and return new Response object to return with status code,
// headers, and body.
$response = (new Response(200))
->withHeader('Content-type', 'text/html')
->withBody(new Stream('<h1>Hello, world!</h1>'));
return $response;
}
}
// -----------------------------------------------------------------------------
// Create a new server.
$server = new Server();
// Add a router to the server to map methods and endpoints to handlers.
$router = $server->createRouter();
$router->register('GET', '/', new HomePageHandler());
$server->add($router);
// Read the request from the client, dispatch a handler, and output.
$server->respond();
Development
Use Docker to run unit tests, manage Composer dependencies, and render a preview of the documentation site.
To get started, run:
docker-compose build
docker-compose run --rm php composer install
To run PHPUnit tests, use the php service:
docker-compose run --rm php phpunit
To generate documentation, use the docs service:
# Generate
docker-compose run --rm docs
# Clean
docker-compose run --rm docs make clean -C docs
To run a local playground site, use:
docker-compose up -d
The runs a site you can access at http://localhost:8080. You can use this site to browser the documentation or code coverage report.
Copyright and License
Copyright © 2018 by PJ Dietz Licensed under the MIT license
