yolo/fx

A micro service framework for hyperf.

v1.4.5 2025-02-19 09:11 UTC

This package is not auto-updated.

Last update: 2025-04-02 09:41:24 UTC


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缓存。

自动注册发现

支持在服务启动时自动注册到服务中心,并且可以从服务中心发现服务,而无需配置依赖服务的地址等。

中间件

支持中间件。

计划任务

支持计划任务。