yolo / fx
A micro service framework for hyperf.
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
    v2.0.3
    2025-07-26 07:27 UTC
Requires
- php: >=8.1
 - ext-curl: *
 - ext-fileinfo: *
 - 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缓存。
自动注册发现
支持在服务启动时自动注册到服务中心,并且可以从服务中心发现服务,而无需配置依赖服务的地址等。
中间件
支持中间件。
计划任务
支持计划任务。