teamicon / apikit
一个简单的工具包,帮助团队图标开发者创建原生PHP API
v1.1.4
2020-07-27 10:21 UTC
Requires
- ext-curl: *
- ext-json: *
- ext-mysqli: *
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