yolo / fx
A micro service framework for hyperf.
v1.4.5
2025-02-19 09:11 UTC
Requires
- php: >=8.1
- ramsey/uuid: 5.x-dev
- yolo-fx/di: ^1.1
README
一个基于hyperf框架的微服务框架包。
完整框架请查看项目:https://gitee.com/yolo_6/fx-service
安装
composer require yolo/fx-service
功能
RPC服务调用
将方法标记为RPC接口,即可通过RPC调用。总共支持三种RPC类型的接口。
Api 内部RPC调用,用于服务之间调用。
Tunnel 管理后台调用,需登录且需校验权限。
Restful 前台restful接口。
RPC接口支持参数校验。
<?php
namespace App\Controller\Api;
use Yolo\Config\Annotations\UseConfig;
use Yolo\Rpc\Annotations\Api;
use Yolo\Rpc\Annotations\RpcController;
use Yolo\Service\RpcRequest;
use Yolo\Service\RpcResponse;
#[RpcController]
class TestController
{
#[Api([
'validation' => [
'name' => 'required|string',
],
])]
public function getUserById(RpcRequest $request, RpcResponse $response): array|RpcResponse
{
$body = $request->getBody();
return [
'name' => $body['name']
];
}
}
日志
支持控制台和文件日志。
配置注解
支持配置注解以及配置校验。
use Yolo\Config\Annotations\UseConfig;
class Test
{
public function __construct(
#[UseConfig('application', [
'instanceId' => 'required|string',
])]
private readonly array $config
){}
public function test(): void
{
var_dump($this->config);
}
}
缓存
支持内存缓存和redis缓存。
自动注册发现
支持在服务启动时自动注册到服务中心,并且可以从服务中心发现服务,而无需配置依赖服务的地址等。
中间件
支持中间件。
计划任务
支持计划任务。