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 Flexi\Infrastructure\Http\Router;
function getHomePath(Router $router): string
{
$route = $router->getByName('home');
return $route->getPath();
}
use Flexi\Contracts\Interfaces\EventBusInterface;
use Flexi\Domain\Events\Event;
function dispatchHealthCheck(EventBusInterface $eventBus): void
{
$event = new Event('health-check', 'health-check endpoint', ['from' => $_SERVER['REMOTE_ADDR'] ?? 'unknown']);
$eventBus->dispatch($event);
}
use Flexi\Infrastructure\Bus\CommandBus;
// Assume $command is a class that implements the DTOInterface
$commandBus->execute($command);
use Flexi\Infrastructure\Bus\QueryBus;
// Assume $query is a class that implements the DTOInterface
$result = $queryBus->execute($query);
namespace App\Http;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
final class GreetingHandler implements RequestHandlerInterface
{
private ResponseFactoryInterface $responses;
public function __construct(ResponseFactoryInterface $responses)
{
$this->responses = $responses;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$response = $this->responses->createResponse(200);
$response->getBody()->write('Hello');
return $response;
}
}
namespace 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);
}
}
namespace Flexi\Test\YourNamespace;
use PHPUnit\Framework\TestCase;
class YourTest extends TestCase
{
public function testSomething(): void
{
// Test environment variables from .env.testing are automatically loaded
$this->assertTrue(true);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.