faraweilyas/mangoapi

PHP 库,提供面向对象的包装来管理 API 请求。

dev-master 2019-07-09 19:46 UTC

This package is auto-updated.

Last update: 2024-09-10 08:03:30 UTC


README

处理 API 请求和发送响应的 PHP 库。

要求

使用 composer 安装

将库添加到项目的最佳方式是使用 composer

composer require faraweilyas/mangoapi

或者

克隆此存储库

git clone https://github.com/faraweilyas/mangoapi.git

基本用法

<?php

use MangoAPI\Request;
use MangoAPI\Response;

require_once 'vendor/autoload.php';

// Handling request
$request = new Request();
$request->addHeader("Access-Control-Allow-Origin", "*")
		->addHeader("Content-Type", "application/json; charset=UTF-8")
		->setAllowMethods(["GET", "POST", "PUT", "HEAD", "DELETE", "PATCH", "OPTIONS"])
		->addHeader("Access-Control-Max-Age", "3600")
		->addHeader("Access-Control-Allow-Credentials", "true")
		->addHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With")
		->setHeaders();

// Make database calls or any other operations

// Sending response
$response 	= new Response;
$data 		= ['username' => 'hadiza123', 'name' => 'Agbonoga Hadiza', 'sex' => 'female'];
$response->isOk("Successfully processed", $data)
		->send()
		->kill();

处理请求

$request = new Request();
// Add header 1
$request->addHeader("Access-Control-Allow-Origin", "*");
// Add header 2
$request->addHeader("Access-Control-Max-Age", "3600");
// Setting header
$request->setHeaders();

// Get raw data from request
$data = $request->getDataFromRequest();

// Get headers
$headers = $request->getHeaders();

发送响应

  • 发送 200 正确响应
$response 	= new Response;
$data 		= ['username' => 'hadiza123', 'name' => 'Agbonoga Hadiza', 'sex' => 'female'];
$response->isOk("Successfully processed", $data)
		->send()
		->kill();
  • 发送 201 创建响应
$response 	= new Response;
$data 		= ['username' => 'hadiza123', 'name' => 'Agbonoga Hadiza', 'sex' => 'female'];
$response->isCreated("Successfully created", $data)
		->send()
		->kill();
  • 发送 400 错误请求响应
$response 	= new Response;
$data 		= [];
$response->badRequest("Request can't be processed", $data)
		->send()
		->kill();
  • 发送 404 未找到响应
$response 	= new Response;
$response->notFound("Request not found")
		->send()
		->kill();
  • 发送 422 无法处理实体响应
$response 	= new Response;
$response->unProcessableEntityResponse()
		->send()
		->kill();