1. Go to this page and download the library: Download phpixie/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/ */
phpixie / http example snippets
//Without the PHPixie Framework
$slice = new \PHPixie\Slice();
$http = new \PHPixie\HTTP($slice);
//inside the framework
$http = $frameworkBuilder->components()->http();
//Build a Request from globals ($_GET etc)
$request = $http->request();
//Or you can pass a PSR-7 ServerRequestInterface to wrap
$request = $http->request($serverRequest);
//$_GET
$query = $request->query();
//$_POST
$query = $request->data();
//Additional attributes,
//e.g. parameters from routing
$query = $request->attributes();
//$_GET['pixie']
$query->get('pixie');
//With default value
$query->get('pixie', 'Trixie');
//Throw an exception if field is not set
$query->getRequired('pixie');
//$_GET['user']['name'];
$query->get('user.name');
//Or like this
$userData = $query->slice('user');
$userData->get('name');
//In this case $userData
//is an instance of \PHPixie\Slice\Data
//totally unrelated to HTTP library
//so you can pass it around the system
//without coupling to HTTP
//Accessing $_SERVER
$request->server()->get('http_host');
//Get a header line
//If multiple values are present
//for the same header, they will be
//concatenated with ','
$request->headers()->get('host');
$request->headers()->getRequired('host');
//Get header values as array
$request->headers()->getLines('accept');
//Handling uploads
$uploadedFile = $request->uploads()->get('file');
$uploadedFile->move('/images/fairy.png');
//HTTP method
$uri = $request->method();
//Accessing Uri
$uri = $request->uri();
$path = $uri->getPath();
//Underlying ServerRequest
$serverRequest = $request->serverRequest();
$responses = $http->responses();
//The simplest response
$response = $responses->string('hello world');
//JSON with headers that forbid caching
$responses->json(array('name' => 'Pixie'));
//Redirect
$responses->redirect('http://phpixie.com/');
//File streaming
$responses->streamFile('pixie.png');
//Download contetnts as a file
//useful for CSV, TXT types
$responses->download('name.txt', 'text/plain', 'Trixie');
//File download
$responses->downloadFile('pixie.png', 'image.png', 'images/fairy.png');
//Modifying the status code
$response->setStatus('404', 'Not Found');
//OR you can omit the phrase to use
//the default one for the provided code
$response->setStatus('404');
//Modifying headers
$response->headers->set('Content-Type', 'text/csv');
//Transforming into PSR-7 Response
$response->asResponseMessage();
//Outputting a response
$http->output($response);
//Generate context for a particular request
$context = $http->context($request);
//And then it's pretty straightforward
$cookies = $context->cookies();
$session = $context->session();
$cookies->set('lang', 'en');
$session->getRequired('user_id');
//Remember to pass the context
//when outputting the Response
//or generation a PSR-7 response
$http->output($response, $context);
$response->asResponseMessage($context);