mrclutch/servio

Servio 是一个 Laravel 扩展包,旨在通过采用面向服务的架构(SOA)方法,简化您在 Laravel 应用程序中开发 API 的过程。它提供了一种标准化的方式来管理 API 响应,确保服务之间的连贯性和可维护性。

v1.0.8 2024-09-08 15:13 UTC

This package is auto-updated.

Last update: 2024-09-08 15:17:24 UTC


README

Servio 是一个 Laravel 扩展包,旨在通过采用 SOA(面向服务的架构)原则,简化您在 Laravel 应用程序中开发 API 的过程。

安装

您可以通过 Composer 安装此包

composer require mrclutch/servio

使用方法

安装包后,将服务提供者添加到您的 config/app.php 文件中

'providers' => [
    // Other service providers...
    Mrclutch\Servio\Providers\ServioServiceProvider::class,
],

发布配置

使用以下命令发布配置文件

php artisan vendor:publish --provider="Mrclutch\Servio\Providers\ServioServiceProvider"

此命令将在您的 config 目录中创建一个 servio.php 配置文件。

配置文件

servio.php 配置文件允许您定义服务的结构和属性。以下是如何配置服务的示例

<?php

return [
    'User' => [
        'table' => 'users',
        'dto' => [
            'fields' => [
                'name' => 'required|string',
                'email' => 'required|string|email|unique:users,email',
                'password' => 'required|string|min:8|confirmed',
            ],
        ],
        'resource' => [
            'fields' => [
                'id',
                'name',
                'email',
            ],
        ],
    ],
];

配置详情

  • 服务名称:数组的键代表服务的名称。在生成服务组件时将使用此名称。

  • 表名:通过 table 属性指定与该服务关联的数据库表。

  • DTO 属性:在 dto 键下,您定义数据传输对象(DTO)的字段。每个字段应指定其验证规则。

  • 资源字段:在 resource 键下,列出要在资源转换中包含的字段。

生成服务组件

现在您可以使用 make:servio 命令来生成服务组件

php artisan make:service YourServiceName

YourServiceName 替换为您希望的服务名称。此命令将根据您的配置生成各种服务组件。

许可协议

此包遵循 MIT 许可协议。