1. Go to this page and download the library: Download northwoods/router library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
northwoods / router example snippets
use Northwoods\Router\Router;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
$router = new Router();
$router->get('user.list', '/users', $userList);
$router->get('user.detail', '/users/{id:\d+}', $userDetail);
$router->post('user.create', '/users', $userCreate);
assert($router instanceof Psr\Http\Server\MiddlewareInterface);
namespace Acme;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class UserListHandler implements RequestHandlerInterface
{
public function handle(ServerRequestInterface $request): ResponseInterface
{
/** @var array */
$users = /* load from database, etc */;
return new Response(200, ['content-type' => 'application-json'], json_encode($users));
}
}
use Northwoods\Middleware\LazyHandlerFactory;
/** @var LazyHandlerFactory */
$lazyHandler = /* create the factory */;
$router->post('user.create', '/users', $lazyHandler->defer(CreateUserHandler::class));