epoc-tech/gerador-crud

该软件包的最新版本(v0.2.0)没有提供许可证信息。

用于创建符合 action/usecase/repository 架构标准的 CRUD 软件包。

v0.2.0 2023-05-26 19:46 UTC

This package is auto-updated.

Last update: 2024-09-26 22:52:35 UTC


README

🚧 组件持续进化。 🚧

最初,该组件仅遵守 multiloja_base 数据库。

安装 🎯

要安装 OZ 结构生成器,您首先需要在开发环境中安装该软件包到您的 composer,因为只会在开发中使用,所以不会在其他地方使用。

composer-require oz-tech/gerador-crud --dev

安装完成后,输入命令 php artisan,将会返回一个命令列表,其中包含由 composer 安装的 2 个命令。

  1. oz:gerar-crud
  2. oz-gerar-estrutura

Crud

生成 crud

生成 crud 系统有两种方式:一种是只输入 php artisan oz:gerar-crud 并按照步骤操作,或者直接输入完整的命令行。

php artisan oz:gerar-crud 模块 表名 主键 middleware

模块:您的 crud 模块名称,例如 产品、公司、账户,系统将使用模块名称创建所有文件。

表:您数据库中表的名称,用于进行搜索并将字段拉入 Models 文件。

主键:由于并非所有数据库都以 id 作为主键,因此您可以在此处输入自定义值。

中间件:如果您的路由受到特定中间件的保护,则在此处留空。

理解架构

Actions

Actions 负责路由调用中的单一职责,即每个 action 只存在一个方法,每个方法只有一个职责 | 文件 | 描述 | 动词 | | --- | --- | --- | | Cadastrar{Model}Action | 基于创建的 Model,使用已填充的 fillables、表名和主键进行模块项的登记 | POST | | Visualizar{Model}Action | 通过查询字符串传递 id 来查看已登记的单一项 | GET | | Listar{Model}Action | 使用默认分页列出所有登记项 | GET | | Editar{Model}Action | 通过查询字符串传递 id 和 body 中的字段来编辑项 | PUT | | Excluir{Model}Action | 通过查询字符串传递 id 来删除项 | DELETE |

Requests

Requests 将自动生成,并包含表中的所有字段,作为 required 以便进行验证的定制。

UseCases

每个 Action 都有一个相关的 UseCase,它实现了一个 UseInterface 抽象类,它仅启用一个公共方法,我们称之为 handle。在那里应该执行所有业务规则,可以仅使用私有方法来帮助处理和精简方法。

Repository

每个模块都有自己的 repository,它分为一个抽象类和一个具体类,实现了所有方法。

CustomRoutes

为每个生成的模块,我们分别在文件夹中创建其路由,始终使用模块前缀以及每个 action 的路径,并将其自动放入 routes/api.php 文件中,因为这些路由仅用于 API。

Providers

由于我们在使用接口,因此需要在我们的项目中注册它们,以便我们可以使用注入到组件中的抽象类。为此,我们在 Providers 文件夹中创建了 CustomProvider,它包含模块的 ServiceProvider 以及一个用于加载这些 providers 的类。这个类应该最后包含在 config/app.php 文件中,如下所示:App\Providers\CustomProvider\LoadModulesProvider::class,这样您的系统就已经准备好处理将来出现的所有 providers。

特性(Traits)

我们还提供了一个自定义的 api response 特性,这也是自动生成的。