oz-tech/gerador-crud

此包已被废弃且不再维护。作者建议使用 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: 2023-05-26 20:14:58 UTC


README

🚧 组件持续进化。 🚧

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

安装 🎯

要安装 OZ 结构生成器,您首先需要在 dev 的 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 模块 表名 chave_primaria 中间件

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

表:您的数据库中表的名称,用于搜索并从 Models 文件中获取字段。

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

中间件:如果您的路由被某个特定中间件保护,则留空。

了解架构

操作

操作负责在路由调用中执行单一职责,也就是说每个操作只有一个方法,每个操作只有一个责任 |文件|描述|动词| | --- | --- | --- | | Cadastrar{Model}Action | 根据已创建的 Model 预设填充值、表名和主键进行模块项的登记 | POST | | Visualizar{Model}Action | 通过在查询字符串中传递 id 显示已登记的单一项 | GET | | Listar{Model}Action | 使用标准分页列出所有登记项 | GET | | Editar{Model}Action | 通过通过查询字符串传递 id 和通过 body 传递的字段编辑项 | PUT | | Excluir{Model}Action | 通过查询字符串传递 id 删除项 | DELETE |

请求

请求会自动生成,并包含表的所有字段,作为 required 用于自定义验证。

用例

每个操作都有一个相关的用例,该用例实现了一个 UseInterface 抽象类,它仅允许一个公共方法,我们称之为 handle。在其中应执行所有业务规则,可以仅使用私有方法来辅助处理和最小化方法。

存储库

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

自定义路由

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

提供者

由于我们在使用接口,我们需要在我们的项目中注册它们,以便我们可以使用注入到我们组件中的抽象类。为此,我们还在“Providers”文件夹内创建了CustomProvider,它包含模块的ServiceProvider以及一个用于加载这些提供者的类。这个类应该在config/app.php文件的最后包含,以下提供者:App\Providers\CustomProvider\LoadModulesProvider::class。这样做后,您的系统将能够处理未来出现的所有提供者。

特质

我们还提供了一种自定义API响应特质,这也是自动生成的。