nacosvel/nacos-sdk-php
Composer 安装命令:
composer require nacosvel/nacos-sdk-php
包简介
Nacos Client SDK for PHP
README 文档
README
Nacos的PHP客户端,更多关于Nacos的介绍,可以查看Nacos Wiki。
安装
推荐使用 PHP 包管理工具 Composer 安装 SDK:
composer require nacosvel/nacos-sdk-php
特性
- 扩展性强
- 容易上手
- 支持 Open-API 鉴权
- 支持集群
开发计划
- 支持认证鉴权
- 支持 Authorization Token 自动刷新
- 支持认证缓存功能
- 支持网络防抖
- 支持集群
- 支持负载均衡
文档
Open-API 开启鉴权之前
<?php use Nacosvel\Nacos\NacosClient; use Nacosvel\Nacos\NacosConfig; $config = new NacosConfig('http://127.0.0.1:8848'); $client = new NacosClient($config); $response = $client->request('GET', 'nacos/v2/ns/instance/list', [ 'query' => [ 'serviceName' => 'nacosvel/nacos-sdk-php', ], ])->response();
Open-API 开启鉴权之后
<?php use Nacosvel\Nacos\NacosAuth; use Nacosvel\Nacos\NacosClient; use Nacosvel\Nacos\NacosConfig; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $config = new NacosConfig('http://127.0.0.1:8848', new NacosAuth('nacos', 'nacos'), new FilesystemAdapter('cache.namespace')); $client = new NacosClient($config); $response = $client->request('GET', 'nacos/v2/ns/instance/list', [ 'query' => [ 'serviceName' => 'nacosvel/nacos-sdk-php', ], ])->response();
NacosResponseInterface 自定义响应接口
<?php use Nacosvel\Nacos\NacosAuth; use Nacosvel\Nacos\NacosClient; use Nacosvel\Nacos\NacosConfig; use Nacosvel\Nacos\NacosResponse; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $config = new NacosConfig('http://127.0.0.1:8848', new NacosAuth('nacos', 'nacos'), new FilesystemAdapter('cache.namespace')); $client = new NacosClient($config, new NacosResponse()); $response = $client->request('GET', 'nacos/v2/ns/instance/list', [ 'query' => [ 'serviceName' => 'nacosvel/nacos-sdk-php', ], ])->response();
response(ResponseInterface $response) 自定义响应方法
<?php use Nacosvel\Nacos\NacosAuth; use Nacosvel\Nacos\NacosClient; use Nacosvel\Nacos\NacosConfig; use Nacosvel\Nacos\NacosResponse; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $config = new NacosConfig('http://127.0.0.1:8848', new NacosAuth('nacos', 'nacos'), new FilesystemAdapter('cache.namespace')); $client = new NacosClient($config, new NacosResponse()); $response = $client->request('GET', 'nacos/v2/ns/instance/list', [ 'query' => [ 'serviceName' => 'nacosvel/nacos-sdk-php', ], ])->response(function (\Psr\Http\Message\ResponseInterface $response) { return $response->getBody()->getContents(); });
自定义 HTTP requests Client
<?php use GuzzleHttp\Client; use Nacosvel\Nacos\NacosAuth; use Nacosvel\Nacos\NacosClient; use Nacosvel\Nacos\NacosConfig; use Nacosvel\Nacos\NacosResponse; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $config = new NacosConfig('http://127.0.0.1:8848', new NacosAuth('nacos', 'nacos'), new FilesystemAdapter('cache.namespace')); $client = new NacosClient($config, new NacosResponse(), new Client([])); $response = $client->request('GET', 'nacos/v2/ns/instance/list', [ 'query' => [ 'serviceName' => 'nacosvel/nacos-sdk-php', ], ])->response();
完整示例
<?php use GuzzleHttp\Client; use Nacosvel\Nacos\NacosAuth; use Nacosvel\Nacos\NacosClient; use Nacosvel\Nacos\NacosConfig; use Nacosvel\Nacos\NacosResponse; use Nacosvel\Nacos\NacosUri; use Psr\Log\NullLogger; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $uri = new NacosUri('http://127.0.0.1:8848'); $auth = new NacosAuth('nacos', 'nacos'); $cache = new FilesystemAdapter('cache.namespace'); $config = new NacosConfig($uri, $auth, $cache); $client = new NacosClient($config, new NacosResponse(), new Client([]), new NullLogger()); $response = $client->request('GET', 'nacos/v2/ns/instance/list', [ 'query' => [ 'serviceName' => 'nacosvel/nacos-sdk-php', ], ])->response();
状态码
Status Code:200
{
"code": 0,
"message": "success",
"data": {
"name": "DEFAULT_GROUP@@nacosvel/nacos-sdk-php",
"groupName": "DEFAULT_GROUP",
"clusters": "",
"cacheMillis": 10000,
"hosts": [],
"lastRefTime": 1724742686597,
"checksum": "",
"allIPs": false,
"reachProtectionThreshold": false,
"valid": true
}
}
{
"code": 10000,
"message": "parameter missing",
"data": "Required request parameter 'serviceName' for method parameter type String is not present"
}
Status Code:403
{
"timestamp": "2024-08-27T15:06:58.210+08:00",
"status": 403,
"error": "Forbidden",
"message": "user not found!",
"path": "/nacos/v2/ns/instance/list"
}
Status Code:404
{
"timestamp": "2024-08-27T15:07:04.003+08:00",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/nacos/v3/ns/instance/list"
}
Status Code:500
{
"timestamp": "2024-08-27T15:06:39.420+08:00",
"status": 500,
"error": "Internal Server Error",
"message": "HTTP Status 500 Internal Server Error"
}
License
Nacosvel Nacos SDK is made available under the MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 14
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-08-28