1. Go to this page and download the library: Download 8ctopus/nano-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/ */
8ctopus / nano-router example snippets
$router = new Router();
$router->addRoute(new Route(RouteType::Exact, 'GET', '/test.php', function (ServerRequestInterface $request) : ResponseInterface {
return new Response(200, ['content-type' => 'text/plain'], 'You\'ve reached page /test.php');
}));
// create user request from globals
$request = ServerRequestCreator::createFromGlobals($_SERVER, $_FILES, $_COOKIE, $_GET, $_POST);
// resolve finds the function that handles the user request, calls it and returns the function's response
$response = $router->resolve($request);
// send response to client (echoes internally)
(new SapiEmitter())
->emit($response);
use Oct8pus\NanoRouter\NanoRouter;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
// use any PSR-7, PSR-17 implementations, here HttpSoft
use HttpSoft\Emitter\SapiEmitter;
use HttpSoft\Message\Response;
use HttpSoft\Message\ServerRequestFactory;
use HttpSoft\Message\Stream;
use HttpSoft\ServerRequest\ServerRequestCreator;
/ add starts with route
->addRoute(new Route(RouteType::StartsWith, ['GET', 'POST'], '/test/', function (ServerRequestInterface $request) : ResponseInterface {
$stream = new Stream();
$stream->write('request target - '. $request->getRequestTarget());
return new Response(200, [], $stream);
}))
// add regex route
->addRoute(new Route(RouteType::Regex, '*', '~/php(.*)/~', function (ServerRequestInterface $request) : ResponseInterface {
$stream = new Stream();
$stream->write('request target - '. $request->getRequestTarget());
return new Response(200, [], $stream);
}))
->addErrorHandler(404, function (ServerRequestInterface $request) : ResponseInterface {
$stream = new Stream();
$stream->write('page not found - ' . $request->getRequestTarget());
return new Response(404, [], $stream);
})
->addMiddleware('*', '~(.*)~', MiddlewareType::Post, function (ResponseInterface $response, ServerRequestInterface $request) : ResponseInterface {
return $response->withHeader('X-Powered-By', '8ctopus');
});
// create request from globals
$request = ServerRequestCreator::createFromGlobals($_SERVER, $_FILES, $_COOKIE, $_GET, $_POST);
// resolve request into a response
$response = $router->resolve($request);
// send response to client
(new SapiEmitter())
->emit($response);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.