PHPackages                             zuoge/laravel-tools-ai - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. zuoge/laravel-tools-ai

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

zuoge/laravel-tools-ai
======================

Laravel tools for AI

0.0.1(1y ago)015MITPHPPHP ^8.3

Since Feb 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/nichozuo/laravel-tools-ai)[ Packagist](https://packagist.org/packages/zuoge/laravel-tools-ai)[ RSS](/packages/zuoge-laravel-tools-ai/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (11)Versions (2)Used By (0)

Laravel Tools AI Package
========================

[](#laravel-tools-ai-package)

这是一个 Laravel 工具包，提供了一系列相关的实用工具和功能。

1. 安装
-----

[](#1-安装)

```
composer require zuoge/laravel-tools-ai

php artisan vendor:publish --provider="Zuoge\LaravelToolsAi\ToolsAiServiceProvider"
```

2. 使用
-----

[](#2-使用)

该包会自动注册服务提供者。

3. 数据结构
-------

[](#3-数据结构)

### 3.1 生成 RouterCollection

[](#31-生成-routercollection)

- 通过扫描 app/Modules 下的所有 Controller 文件，生成 RouterCollection
- 对 action 的注解进行解析：
    - @title: 名称
    - @method: 请求方法: POST, GET 等
    - @withoutMiddleware: 排除的中间件，比如：json.response
    - @responseSchema: 响应返回的 schema，openapi 标准（可以通过把响应的 json 字符串，发给 AI 去生成）
- 对 request 参数进行解析：

```
    /**
     * @title 管理员列表
     * @method GET
     * @withoutMiddleware json.response
     * @withoutMiddleware auth
     * @responseSchema {"type":"object","properties":{"success":{"type":"boolean","title":"请求是否成功","example":true},"data":{"type":"object","title":"返回的数据","properties":{"items":{"type":"array","title":"用户列表","items":{"type":"object","properties":{"id":{"type":"integer","title":"用户唯一标识","example":7}}}},"total":{"type":"integer","title":"总条目数","example":1},"page":{"type":"integer","title":"当前页码","example":1},"per_page":{"type":"integer","title":"每页条目数","example":20}}}}}
     */
    public function index()
    {
        $params = request()->validate([
            'username' => ['nullable', 'string'], # 用户名
            'name' => ['nullable', 'string'], # 姓名
            'email' => ['nullable', 'string'], # 邮箱
            'mobile' => ['nullable', 'string'], # 手机号
            'status' => ['nullable', 'string'], # 状态
            'page' => ['nullable', 'integer', 'min:1'], // 页码
            'per_page' => ['nullable', 'integer'], // 每页显示数量
        ]);
    }
```

### 3.2 生成 EnumCollection

[](#32-生成-enumcollection)

- 通过扫描 app/Enums 下的所有 Enum 文件，生成 EnumCollection
- 每个 Enum 文件，都包括：文本、值、颜色

```
