lemonway / php-sdk
Lemon Way API的PHP SDK
Requires
- php: >=5.4.0
- ext-curl: *
- ext-openssl: *
README
⚠️警告:此客户端已弃用⚠️
此存储库处于维护模式
我们建议新合作伙伴使用DirectkitJson2,请参考以下示例:this example
我们仅为此存储库提供旧客户支持,这些客户无法迁移到DirectkitJson2(推荐)或SoapClient
- 我们将仅进行最小修改以修复小错误。
- 大的pull-request(在代码中做出大量更改)将被拒绝。
Lemon Way API(称为Directkit)有两种实现:DirectkitJson2和DirectkitXml。根据您选择的实现,调用服务的方式不同。
JSON格式通常更网络高效,且易于集成。这也是为什么推荐使用DirectkitJson2的原因。
无论如何,如果您不喜欢JSON格式,也可以向DirectkitXml发送SOAP(XML)请求。有三种不同的方式调用DirectkitXml
- SoapClient:PHP中消费任何Web服务的常规方法。这是访问DirectkitXml的最简单方法。
- SoapClient SDK:与第一种方法相同,但请求/响应的所有结构都由
wsdl2phpgenerator生成。 - LemonWay SDK:将Web服务作为常规HTTP请求调用
curl_init。SDK将帮助您解析SOAP响应。
我们推荐使用第一种方法,即SoapClient,因为它是PHP世界的标准解决方案。
本示例演示了第三种方法。与其它方法相比,LemonWay SDK并没有明显的优势(见这里的一些看法)。但我们仍将维护旧客户使用的LemonWay SDK。
Lemon Way PHP SDK(此SDK仅与Direckit 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 编写的。您应确保 curl 和 openssl 扩展(PHP 标准发行版的一部分)已启用在您的 PHP 安装中。
项目尝试符合 PSR-4 规范,以从文件路径自动加载类。命名空间前缀为 LemonWay\,基本目录为 /path/to/your-project/。
但是,如果您不使用 PSR-4 或 Composer,安装过程与下载库并将其存储在任何可包含在项目中的位置一样简单(不过,不要忘记包括所需的库依赖项)
require_once '/path/to/your-project/LemonWay/Autoloader.php';
联系方式
请使用 GitHub 上的 issue tracker 报告错误或建议功能。
账户创建
您需要一个沙盒来运行示例。
配置
使用 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,然后进行以下配置。有两个文件处理示例配置