fillup / apiaxle
用于与ApiAxle API交互的PHP库/模块。
0.7.2
2015-02-12 18:37 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- apigen/apigen: 2.*
- phpunit/phpunit: 3.7.*
- satooshi/php-coveralls: dev-master
README
介绍
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 - 推荐方式
- 编辑您的composer文件以包含
{ "require": { "php": ">=5.3.3", "fillup/apiaxle": "dev-master" } }
-
使用
php composer.phar update
更新composer安装 -
确保您包含composer自动加载文件
include_once './vendor/autoload.php';
- 根据需要使用库。请参阅以下示例。
使用示例
- 创建新的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调用相关异常