astronphp / http
http request and response solutions
Installs: 1 965
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: ^7.0
- astronphp/collection: ^0
Requires (Dev)
README
Instalação
composer require astronphp/http
Guia do Usuário
1. Enviando Requisições
1.1 Configuração Inicial
use \Astronphp\Http\Request; $request = new Request('www.example.com/api');
1.2 Realizando Requisições
$request->post('/users'); $request->get('/users/1'); $request->put('/users/1'); $request->patch('/users/1'); $request->delete('/users/1');
1.3 Enviando um Cabeçalho
use \Astronphp\Http\Header; $header = new Header(); $header->add('Content-Type', 'application/json'); // ou usando constantes // $header->add(Header::CONTENT_TYPE, Request::JSON); $request->get('/users/1', $header);
1.4 Enviando um Corpo
use \Astronphp\Http\Header; use \Astronphp\Http\Body; $header = new Header(); $header->add('Content-Type', 'application/json'); // $header->add('Content-Type', 'multipart/form-data'); // $header->add('Content-Type', 'application/x-www-form-urlencoded'); // baseado no Content-Type, o objeto $body saberá como os dados devem ser enviados. $body = new Body(); $body->set('name', 'Lorem Ipsum'); $body->set('document', '123.456.789-12'); $request->post('/users', $header, $body);
1.5 Enviando parâmetros pela url
$request->set('department', 'clothing'); $request->set('sort', 'best_seller'); // www.example.com/api/products/clothing?sort=best_seller $request->get('/products/{department}');
Também pode ser fornecido um array associativo, o que produz o mesmo resultado que o exemplo anterior.
$request->set(['department' => 'clothing', 'sort' => 'best_seller']); $request->get('/products/{department}');
1.6 Recebendo dados da resposta
Vamos assumir que o exemplo abaixo retorna a seguinte estrutura:
{ "status": "success", "data": { "id": 1, "name": "Astron", "username": "astronphp", "password": "@astronphp" } }
$response = $request->get('/users/1'); $response->getHttpCode(); // 200 $response->get('status'); // success $response->get('data.name'); // Astron
2. Recebendo Requisições
2.1 Configuração Inicial
use \Astronphp\Http\Request; $request = new Request();
2.2 Acessando dados
$request->query('username'); // dados recebidos via get $request->body('username'); // dados recebidos via post $request->files('picture'); $request->server('request_uri'); // case insensitive $request->header('content_type'); // case insentitive
3. Enviando uma resposta
3.1 Configuração Inicial
use \Astronphp\Http\Response; $response = new Response(['status' => 'success', 'message' => 'lorem ipsum']); // ou como uma string json // $response = new Response({"status":"success", "message":"lorem ipsum"});
3.2 Enviando uma resposta JSON
$response->json();
4. Navegação entre páginas
4.1 Configurando uma URI base
\Astronphp\Http\Location::setBaseUri('https://www.example.com');
4.2 Redirecionando
$location = new \Astronphp\Http\Location('/products'); $location->redirect(); // redireciona para https://www.example.com/products
4.3 Recarregando a página
$location = new \Astronphp\Http\Location(); $location->reload();