1. Go to this page and download the library: Download cubadevops/flexi 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/ */
cubadevops / flexi example snippets
use CubaDevOps\Flexi\Domain\Classes\Router;
use Psr\Http\Message\ServerRequestInterface;
use CubaDevOps\Flexi\Domain\Factories\ContainerFactory;
/** @var Router $router */
$router = ContainerFactory::getInstance()->get(Router::class); // or use router alias
$route = $router->getByName('home'); // Get a route by name
$route->getPath(); // Get the path of the route to pass to the template
use CubaDevOps\Flexi\Domain\Interfaces\EventBusInterface;
use CubaDevOps\Flexi\Domain\Classes\Event;
use CubaDevOps\Flexi\Application\UseCase\Health;
use CubaDevOps\Flexi\Domain\Factories\ContainerFactory;
use CubaDevOps\Flexi\Domain\Classes\EventBus;
$eventBus = ContainerFactory::getInstance()->get(EventBus::class);
$event = new Event('health-check', Health::class, ['from' => $_SERVER['REMOTE_ADDR']);
$eventBus->notify($event);
use CubaDevOps\Flexi\Domain\Classes\CommandBus;
// Assume $command is a class that implements the DTOInterface
$commandBus->execute($command);
use CubaDevOps\Flexi\Domain\Classes\QueryBus;
// Assume $query is a class that implements the DTOInterface
$result = $queryBus->execute($query);
namespace CubaDevOps\Flexi\Modules\Home\Infrastructure\Controllers;
use CubaDevOps\Flexi\Infrastructure\Classes\HttpHandler;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
class AuthenticatedController extends HttpHandler
{
public function handle(ServerRequestInterface $request): ResponseInterface
{
if (!$this->queue->isEmpty()) { // This block allows to execute middlewares
return $this->getNextMiddleware()->process($request, $this);
}
$response = $this->createResponse();
$response->getBody()->write('Authorized');
return $response;
}
}
namespace CubaDevOps\Flexi\Infrastructure\Middlewares;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
class AuthCheckMiddleware implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
// Perform authentication logic here and stop the execution chain if necessary
// or pass the request
return $handler->handle($request);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.