The fastest http php framework
composer require paliari/nano-http
<?php
require 'vendor/autoload.php';
HTTP method: GET, POST, PUT, PATCH, DELETE
//...
$app = new \Paliari\NanoHttp\App();
$app->get('/', function ($req, \Paliari\NanoHttp\Http\Response $res) {
$res->body = json_encode(['message' => 'Welcome']);
return $res;
});
$app->post('/person', function ($req, \Paliari\NanoHttp\Http\Response $res) {
$params = $req->post();
$person = yourMethodCreatePerson($params);
$res->body = json_encode($person);
return $res;
});
$app->get('/person/{id}', function ($req, \Paliari\NanoHttp\Http\Response $res, $id) {
$person = yourMethodGetPerson($id);
$res->body = json_encode($person);
return $res;
});
App->map(method: string, route: string, callable: string|callable) if the callable is string it must be separated by ":" eg: "ClassName:metodName".
$app->map($method, $route, $callable);
<?php
class AuthMiddleware implements \Paliari\NanoHttp\Middleware\MiddlewareInterface
{
public function __invoke($request, $response, $next)
{
// TODO: Implement __invoke() method.
// ...
return $response;
}
}
<?php
//...
$authMiddleware = new AuthMiddleware();
$aclMiddleware = new AclMiddleware();
$customMiddleware = new CustomMiddleware();
$app->add($customMiddleware, '/custom/path')
->add($aclMiddleware, '/')
->add($authMiddleware, '/')
;