PHP code example of alexpts / php-simple-middlewares
1. Go to this page and download the library: Download alexpts/php-simple-middlewares 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/ */
alexpts / php-simple-middlewares example snippets
use Psr\Http\Message\ServerRequestInterface;
use PTS\Middleware\MiddlewareManager;
$middlewareManager = new MiddlewareManager();
$middlewareManager->push(function($request, $next){
/* optionally modify the request */
$request = $request->...;
/* optionally skip the $next middleware and return early */
if (...) {
return $response;
}
/* optionally invoke the $next middleware and get back a new response */
$response = $next($request);
/* optionally modify the Response if desired */
$response = $response->...;
return $response;
});
use Psr\Http\Message\ServerRequestInterface;
use PTS\Middleware\MiddlewareManager;
use PTS\Middleware\MiddlewareInterface;
class MiddlewareA implements MiddlewareInterface
{
public function __invoke(ServerRequestInterface $request, callable $next)
{
$method = $request->getMethod();
if (method !== 'GET') {
return new JsonResponse(['status' => 405], 405);
}
$response = $next($request);
/* optionally modify the Response if desired */
$response = $response->...;
return $response;
}
}
class FrontController implements MiddlewareInterface
{
public function __invoke(ServerRequestInterface $request, callable $next)
{
/* ... some work and create response */
return $response;
}
}
$middlewareManager = new MiddlewareManager();
$middlewareManager->push(new MiddlewareA);
$middlewareManager->push(new FrontController);
/* ... PSR-7 $request */
$response = $middlewareManager($request);
$middlewareManager = new MiddlewareManager();
$middlewareManager->push(new MiddlewareA);
$middlewareManager->push(new FrontController, function (\Throwable $ex) {
return new JsonResponse(['error' => $ex->getMessage()], 500);
});
$response = $middlewareManager($request);
$ composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.