1. Go to this page and download the library: Download elavora/api-framework 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/ */
elavora / api-framework example snippets
declare(strict_types=1);
use Elavora\Api\Framework\Application;
use Elavora\Api\Framework\Http\Request;
use Elavora\Api\Framework\Http\Response;
(Request::fromGlobals());
$app->emit($response);
use Elavora\Api\Framework\Http\Request;
use Elavora\Api\Framework\Http\Response;
final class UserController
{
public function store(Request $request): Response
{
return Response::created([
'name' => $request->input('name'),
'email' => $request->input('email'),
]);
}
}
$request->method(); // GET, POST, PUT, PATCH, DELETE...
$request->path(); // /users
$request->query('page', '1'); // parametro de query string
$request->input('email'); // campo do corpo JSON/form
$request->header('X-Request-Id');
$request->requestId();
use Elavora\Api\Framework\Attributes\Method;
use Elavora\Api\Framework\Attributes\RequiredFields;
use Elavora\Api\Framework\Attributes\RequiredParams;
use Elavora\Api\Framework\Http\Request;
use Elavora\Api\Framework\Http\Response;
final class UserController
{
#[Method('POST')]
#[RequiredParams(['page' => 'int-string'])]
#[RequiredFields(['name' => 'string', 'email' => 'email'])]
public function store(Request $request): Response
{
return Response::created(['created' => true]);
}
}
use Elavora\Api\Framework\Application;
use Elavora\Api\Framework\Contracts\Extension;
final class ExampleExtension implements Extension
{
public function register(Application $application): void
{
$application->container()->instance('example', new ExampleService());
}
}
$app->extend(new ExampleExtension());
use Elavora\Api\Framework\Exceptions\HttpException;
throw HttpException::badRequest('Invalid payload', [
'email' => 'Invalid field type',
]);
$app = Application::create(debug: true);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.