fillup/apiaxle

用于与ApiAxle API交互的PHP库/模块。

安装: 392

依赖项: 0

建议者: 0

安全: 0

星标: 14

关注者: 3

分支: 1

开放问题: 0

语言:JavaScript

0.7.2 2015-02-12 18:37 UTC

This package is auto-updated.

Last update: 2024-09-06 09:17:41 UTC


README

Travis-CI Build Status Coverage Status

介绍

ApiAxle 开源API管理平台

ApiAxle 是一个代理,位于您的网络中,在您的API(s)之前,并管理您不需要的事情,如速率限制、身份验证和缓存。它速度快、开源且易于配置。

要求

功能/目标/待办事项

  • 易于消费、基于配置、面向对象的库
  • 支持Api对象
  • 支持Key对象
  • 支持Keyring对象
  • 使用Travis-CI设置持续集成: (https://travis-ci.org/fillup/apiaxle-module)
  • 创建表示统计、图表等的对象?
  • 修复PHP布尔值序列化为字符串以支持ApiAxle API。目前API需要true或false的字符串,但PHP布尔值序列化结果为0或1。
  • 添加支持ApiAxle 1.11中的新功能以支持捕获路径统计信息

安装

使用Composer - 推荐方式

  1. 编辑您的composer文件以包含
{
    "require": {
        "php": ">=5.3.3",
        "fillup/apiaxle": "dev-master"
    }
}
  1. 使用php composer.phar update更新composer安装

  2. 确保您包含composer自动加载文件

include_once './vendor/autoload.php';
  1. 根据需要使用库。请参阅以下示例。

使用示例

  1. 创建新的API,创建新的密钥,给密钥访问API
<?php
    include_once 'vendor/autoload.php';
    
    use ApiAxle\Api\Api;
    use ApiAxle\Api\Key;

    $apiDetails = array(
        'endPoint' => 'api.mydomain.com/api',
        'protocol' => 'https',
    );    
    
    $api = new Api();
    $api->create('myapi',$apiDetails);

    $keyDetails = array(
        'sharedSecret' => 'thisismyreallyshortsecret',
        'qps' => 10,
        'qpd' => 1000,
    );
    
    $key = new Key();
    $key->create('keyvalue',$keyDetails);
    
    $api->linkKey($key);

    // Thats it, your API is registered with API axle, your Key is created,
    // and your Key has access to the new API

API文档

API文档由phpDocs通过apigen生成,可在docs/文件夹中找到。

使用代理

如果需要用于调试或其他原因,您可以配置库以使用代理。我多次使用Charles Proxy来调试从ApiAxle的调用和响应。要配置它以使用代理,只需在配置中设置以下属性即可。

    'proxy_enable' => true,
    'proxy_host' => '127.0.0.1',
    'proxy_port' => '8888',

使用您自己的CA证书

如果您在具有自己的CA且希望验证证书的环境中运行,您可以配置此库以指定查找CA信息的位置或证书文件夹的路径。这使用PHP中的curl_setopt功能设置这些。但是,为了使它们正常工作,ssl_verifypeer设置需要为true

    'ssl_verifypeer' => true,
    'ssl_cainfo' => null,
    'ssl_capath' => '/etc/pki/tls/certs/',

贡献

如果您有兴趣为此库做出贡献并/或扩展它,请让我知道,我很乐意与其他人合作,考虑其他用例和设计模式。

异常

100-199:配置相关异常

200 - 299:API调用相关异常