lemonway-ogust / php-sdk
Lemon Way API 的 PHP SDK
Requires
- php: >=5.4.0
- ext-curl: *
- ext-openssl: *
README
Lemon Way API(称为Directkit)有两种实现:DirectkitJson2和DirectkitXml。调用服务的方式取决于你选择的实现。
访问directkitJson2的最佳方式是使用curl_init
函数向DirectkitJson2服务发送POST请求。
这是最简单(对你来说)且最网络高效的调用服务的方式。因此,我们推荐使用Json而不是SOAP(XML)协议。
如果你不喜欢json格式,你也可以向DirectkitXml发送SOAP(XML)请求,你可以用3种不同的方式完成
- SoapClient:在PHP中消费任何Web服务的普通方法。这是访问DirectkitXml的最简单方式。
- SoapClient SDK:与第一种方法相同,但所有请求/响应的结构都通过
wsdl2phpgenerator
生成。 - LemonWay SDK:将Web服务作为正常的http请求调用
curl_init
。SDK将帮助你解析SOAP响应。
此示例演示了第三种方法。它并没有比其他方法有真正的优势。它只是比 SoapClient 更简洁。 查看观点比较
Lemon Way PHP SDK(此SDK仅用于Directkit XML)
Lemon Way SDK 是用于与 Lemon Way API 一起工作的PHP客户端库。
使用Composer安装
您可以使用Lemon Way SDK库作为项目中的依赖项,通过Composer(这是首选技术)。如果您尚未安装Composer,请遵循这些安装说明。在存储库中有一个composer.json文件,它已在Packagist中引用。
使用Composer安装简单可靠
步骤 1 - 通过执行以下命令将Lemon Way SDK添加为依赖项
you@yourhost:/path/to/your-project$ composer require lemonway/php-sdk:^1.0
步骤 2 - 使用Composer更新您的依赖项
you@yourhost:/path/to/your-project$ composer update
步骤 3 - 最后,请确保将自动加载器包含在您的项目中
require_once '/path/to/your-project/vendor/autoload.php';
库已添加到您的依赖项中,并准备好使用。
不使用Composer安装
SDK是用PHP 5.4编写的。您应确保在PHP安装中启用了curl和openssl扩展(它们是标准PHP分发的部分)。
项目尝试遵守PSR-4规范以从文件路径自动加载类。命名空间前缀是LemonWay\
,基本目录是/path/to/your-project/
。
但如果你不使用PSR-4或Composer,安装就像下载库并将其存储在项目的任何位置一样简单,该位置将可用以包括在你的项目中(不过别忘了包括所需的库依赖项)
require_once '/path/to/your-project/LemonWay/Autoloader.php';
联系方式
使用GitHub上的问题跟踪器报告错误或建议功能。
账户创建
您需要一个沙盒来运行示例。
配置
使用来自Lemon Way支持的凭据信息,您应将$api->config->wlLogin
设置为您的Lemon Way登录名,并将$api->config->wlPass
设置为您的Lemon Way密码。
require_once '/path/to/your-project/vendor/autoload.php'; $api = new LemonWayAPI(); $api->config->dkUrl = 'Your DirectKitXML url'; $api->config->wkUrl = 'Your WebKit url'; $api->config->wlLogin = 'Your login'; $api->config->wlPass = 'Your password'; $api->config->lang = 'Your language'; //$api->config->isDebugEnabled = true; //Uncomment to turn on debug mode // call some API methods... $result = $api->RegisterWallet(...);
响应对象
所有 LemonWayAPI
方法都返回 \LemonWay\ApiResponse
对象。它是一个具有可变属性的动态对象。
###固定属性:
###可变属性:
这些属性取决于调用的是哪个方法。
示例用法
require_once '/path/to/your-project/vendor/autoload.php'; $api = new LemonWayAPI(); $api->config->dkUrl = 'Your DirectKitXML url'; $api->config->wkUrl = 'Your WebKit url'; $api->config->wlLogin = 'Your login'; $api->config->wlPass = 'Your password'; $api->config->lang = 'Your language'; // call some API methods... $walletID = 'Fill in with a unique id'; $response = $api->RegisterWallet(array('wallet' => $walletID, 'clientMail' => $walletID.'@mail.fr', 'clientTitle' => Wallet::UNKNOWN, 'clientFirstName' => 'Paul', 'clientLastName' => 'Atreides')); if (isset($response->lwError)) { print 'Error, code '.$response->lwError->CODE.' : '.$response->lwError->MSG; } else { print '<br/>Wallet created : ' . $response->wallet->ID; // OR BY USING lwXml : print '<br/>Wallet created : ' . $response->lwXml->WALLET->ID; }
从我们的示例开始
在示例文件夹中,您可以找到每个API方法的示例。
您需要在配置了PHP且主机名不同于localhost的Web服务器上运行这些示例。
如果您想运行示例,还需要沙盒(请联系Lemon Way创建沙盒)
在示例文件夹索引中,您可以找到一个**API方法/示例匹配表**,该表以HTML格式显示,并在示例文件夹README.md中以Markdown格式显示。
###配置 默认情况下,示例使用我们的沙盒演示运行。如果您需要您自己的沙盒,请联系Lemon Way,然后执行这些配置。有两个文件处理示例配置