teamicon/apikit

一个简单的工具包,帮助团队图标开发者创建原生PHP API

v1.1.4 2020-07-27 10:21 UTC

This package is auto-updated.

Last update: 2024-09-27 19:28:58 UTC


README

这个库是一个简单的工具包,帮助团队图标开发者创建原生PHP API。

安装

您需要使用composer安装来将此库添加到您的应用程序中。打开终端或命令提示符并输入

composer require teamicon/apikit:*

经过几分钟,它应该在根目录下出现一个vendor文件夹和一个composer.json文件。

用法

在应用程序中,您需要将以下行作为脚本的第一行

require_once(__DIR__ . "/your-path/vendor/autoload.php");
use \teamicon\apikit\className;
$foo = new className();
...

your-path token是vendor文件夹正确的路径。例如,如果您的脚本放在根目录的源文件夹中,您的路径变为../,因为您需要回溯。

require_once(__DIR__ . "/../vendor/autoload.php");

索引的主体

创建一个API应用程序很简单,但需要一些功能才能良好工作。在主体中,我们需要放置将在应用程序中使用到的脚本引用,之后我们放置所需的头部信息,最后我们可以使用apikit来快速管理所有路由规则。

require_once(__DIR__. "/vendor/autoload.php");
use \teamicon\apikit\{list of classes that you will use separated by comma}
...
//header for CORS calls
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, GET, PATCH, DELETE, OPTIONS");
header("Access-Control-Max-Age: 100");
//header('Access-Control-Allow-Credentials: true');
header("Access-Control-Allow-Headers: X-SC, X-LNG, AccountKey,x-requested-with, Content-Type, origin, authorization, accept, client-security-token, host, date, cookie, cookie2");
header("Content-Type: application/json");
//preflight test
if ($_SERVER['REQUEST_METHOD'] != 'OPTIONS') echo RouteManager::Start( 'route');
function route(string $sc, string $url, string $lng, RouteParameters $rp) {
    //put here your logic
}

apikit中的类列表

ApiKitException

这个类继承自Exception,用于识别内部异常。

ApiResult

用于创建标准响应。您可以使用OK静态函数返回带有关联有效负载数组的正确消息,或者您可以使用KO函数通知调用中存在错误。

DbManager

这个类通过一组预构建的函数帮助用户使用数据库。您必须创建一个包含所有连接到数据库参数的类的实例。在此操作之后,您可以使用Query或Execute函数以关联数组的形式提取数据集或接收已编辑的行数。这些函数的参数类似:一个查询语句、一个参数类型列表和参数作为关联数组。

Logger

用于在特定文件中记录一些活动和错误。

RouteManager

这是apikit的核心,我们之前已经讨论了您可以使用它。

RouteParameters

这是一个内部类,用于交换关于路由的信息。您可以接收有关

public function GetSC() : string { return $this->sc; }
public function GetLanguage() : string { return $this->lng; }
public function GetMethod() : string { return $this->method; }
public function GetEntity() : string { return $this->entity; }
public function GetAction() : string { return $this->action; }
public function GetKeys() : array { return $this->keys; }

Utility

包含一些简化开发者生活的提示。函数列表如下

public static function Curl(string $url, string $method, bool $forceHeaders = false, array $headers = [], array $params = []) : array
public static function GenerateRandomToken(int $numOfChar) : string
public static function GetClientIp() : string
public  static function GetClientLanguage() : string

许可证

知识共享署名-非商业性使用-禁止演绎 4.0 国际 CC-BY-NC-ND-4.0