inolares / coreconnect
用于客户端与 InoCore 之间通信的 coreConnect 类
Requires
- php: >=8.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-11 16:49:59 UTC
README
此 composer 包提供类,以轻松与 InoCore 安装进行通信。
为了简化集成,提供了多个类,每个类都针对特定需求进行集成。
目前有用于与基于会话的 PHP 网站、CLI 命令和与 Symfony 5.4+ 兼容的服务类集成的辅助类。
此外,您还可以在 contrib 文件夹中找到其他语言的实现,目前只有 PureBasic,但欢迎其他贡献! :)
Python 用户应查看我们的 PIP 包:https://pypi.ac.cn/project/core-connect/
要求
- PHP 8.0 或更高版本
- 带有有效凭据的 InoCore 安装
- PureBasic 至少为 5.73 或更高版本
- 对于 Symfony 至少使用 5.4
安装
最佳方式是通过 composer 在您的项目目录中执行以下命令来安装所有内容
composer require inolares/coreconnect
如果您不使用 composer 或希望手动安装它,只需复制至少基础类 "coreConnectBase.php" 和适合您环境的支持类之一。当然,您可以自由实现自己的类,只需确保从抽象类 coreConnectBase.php 继承即可。
如何使用
请参阅 ManualTests/ 目录中的示例。该类应该是相当直观的。
以下是如何使用的简要说明
- 创建一个对象
- 调用方法 "init($user,$pass,$host)" 来设置 InoCore 的凭据
- 开始调用 API 方法,如 get("v1/ping") 等。
Symfony 提示
将提供的文件 "examples/coreConnectService.php" 复制到您的 "src/Service" 目录。现在您可以使用 DI 来获取 coreConnectService 的引用,例如。
public function __construct(coreConnectService $coreConnect) {
parent::__construct();
$coreConnect = $coreConnect;
$coreConnect->init($user,$pass,$url);
}
类方法
以下方法必须由您实现
- setApiUrl() / getApiUrl()
- setApiUser() / getApiUser()
- setApiPass() / getApiPass()
- setExpires() / getExpires()
- setToken() / getToken()
- setJwtUser() / getJwtUser()
此外,还实现了以下方法
- init()
- clearCredentials()
- HasValidToken()
- FetchToken()
- call()
- get()
- post()
- put()
- delete()
- prepareResponse()
- getLastUrl()
- setCurlOpts() [2.1.0+]
PHPUnit 测试
提供了一些 PHPUnit 测试,要运行这些测试,请执行以下操作
$> composer install
$> vendor/bin/phpunit tests
一些提示
仅适用于 coreConnect 2.1.0 或更高版本!
如果您想使用自签名证书连接到启用 https 的 InoCore 实例,请确保首先禁用 SSL 伙伴验证!为此,在调用 init() 之前调用此操作
$coreConnect->setCurlOpts([CURLOPT_SSL_VERIFYPEER => false]);
您可以为这里提供每个 CURLOPT_* 常量,但建议只为您的特定设置设置特定参数,并将其他一切保留为类的默认值!有关完整列表,请参阅 https://php.ac.cn/manual/de/function.curl-setopt.php。
coreConnect 会将其自己的配置设置与您提供的值合并,然后再执行对 InoCore 的 API 请求。在多次 API 调用之间更改参数也是可能的,只需在执行 API 调用之前调用 setCurlOpts() 即可。