1. Go to this page and download the library: Download ez-php/http 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/ */
ez-php / http example snippets
use EzPhp\Http\Request;
use EzPhp\Http\RequestFactory;
// Create from PHP globals (web context)
$request = RequestFactory::createFromGlobals();
echo $request->method(); // GET, POST, ...
echo $request->uri(); // /users/42
echo $request->query('page'); // query string value
echo $request->input('name'); // POST body value
// Strict typed body values — null unless the value is exactly that type
$qty = $request->integer('qty'); // 3 or "3" → 3; "3abc", 3.0, true → null
$gift = $request->boolean('gift'); // true/false, "true"/"false"/"1"/"0", 1/0; else null
$price = $request->decimal('price', scale: 2); // "19.9" → "19.90"; "19.999" → null (never rounded)
$slot = $request->enum('slot', Slot::class); // backed enum case by value; unknown value or wrong type → null
$id = $request->paramInteger('id'); // route parameter, same strict rules as integer()
$page = $request->queryInteger('page'); // query-string value, same strict rules as integer()
echo $request->header('accept'); // request header (case-insensitive)
echo $request->cookie('session'); // cookie value
echo $request->param('id'); // route parameter (set by router)
echo $request->rawBody(); // raw request body string
echo $request->ip(['10.0.0.1']); // client IP; X-Forwarded-For honoured only from the listed trusted proxies
// Uploaded files
$file = $request->file('avatar'); // returns UploadedFile|null
// Immutable — returns a new instance
$request = $request->withMethod('PATCH');
$request = $request->withParams(['id' => '42']);
$request = $request->withAttribute('hero', $hero); // set by middleware…
$hero = $request->attribute('hero'); // …read by the action
use EzPhp\Http\Response;
use EzPhp\Http\ResponseEmitter;
use EzPhp\Http\ResponseFactory;
$response = new Response(body: 'Hello', status: 200);
// Fluent header chaining — each call returns a new instance
$response = $response
->withHeader('Content-Type', 'application/json')
->withHeader('X-Request-Id', 'abc123');
// Factory helpers
$json = ResponseFactory::json(['id' => 1]);
$redirect = ResponseFactory::redirect('/dashboard');
$html = ResponseFactory::html('<h1>Hello</h1>');
// Send to the browser
(new ResponseEmitter())->emit($response);
use EzPhp\Http\Sse\SseEvent;
use EzPhp\Http\StreamedResponse;
// File download — the resource is read in chunks and closed afterwards
$download = StreamedResponse::download($storage->getStream('reports/q3.csv'), 'q3.csv', $size, 'text/csv');
// Server-Sent Events
$events = StreamedResponse::sse(function (): \Generator {
yield new SseEvent(json_encode(['progress' => 50], JSON_THROW_ON_ERROR), 'progress');
});