nijwel / crud-generator
一个用于生成 CRUD 控制器、模型和迁移的包。
1.0.0
2024-09-29 19:46 UTC
Requires
- php: >=7.4
- illuminate/support: ^8.0|^9.0|^10.0
README
这个 Laravel 包可以帮助自动创建基本的 CRUD (创建、读取、更新、删除) 功能,包括模型、控制器和迁移。您还可以在运行命令时通过传递 --api
选项来生成特定的 API 控制器。github: https://github.com/nijwel/crud-generator.git
功能
- 生成 CRUD 功能的模型、控制器和迁移文件。
- 支持基于 Web 和 API 的 CRUD 方法。
- 基于提供的输入自动生成命名空间。
- 可自定义模型、控制器和迁移模板的占位符。
安装
要使用此包,请按照以下步骤操作
1. 需求包
composer require nijwel/crud-generator
2. 发布占位符文件(可选)
如果您想自定义项目中的占位符模板,请发布占位符文件
php artisan vendor:publish --tag=crud-stubs
这将把占位符文件复制到您的占位符目录中,您可以在那里自定义它们以适应您的需求。
使用方法
一旦安装了包,您可以使用以下命令生成 CRUD 操作
1. 生成标准 CRUD(模型、控制器、迁移)
要生成标准 CRUD 方法(适用于具有视图的 Web 应用程序),请使用
php artisan make:crud {ModelName}
示例
php artisan make:crud Product
这将创建
- 在 app/Models/ 目录中创建一个名为 Product.php 的模型。
- 在 app/Http/Controllers/ 目录中创建一个名为 ProductController.php 的控制器。
- 在数据库/migrations/ 目录中创建一个迁移文件。
2. 生成 API 特定的 CRUD
要生成返回 JSON 响应的 API 基础 CRUD 方法,请添加 --api 选项
php artisan make:crud {ModelName} --api
示例
php artisan make:crud Product --api --m --db --r
这将创建
- 在 app/Models/ 目录中创建一个名为 Product.php 的模型。
- 一个返回 JSON 响应的 API 特定的控制器 ProductController.php。
- 在数据库/migrations/ 目录中创建一个迁移文件。
- routes/web 中的某些路由内容。
注意
- 如果您只需要 API 控制器,只需调用 --api
- 如果您只需要模型,只需调用 --m
- 如果您只需要数据库,只需调用 --db
- 如果您只需要路由内容,只需调用 --r
3. 使用命名空间生成 CRUD
如果您想在特定命名空间内生成文件,请使用正斜杠 (/) 来定义命名空间。
这将创建
- 在 app/Models/Admin/ 中创建一个名为 Product.php 的模型。
- 在 app/Http/Controllers/Admin/ 中创建一个名为 ProductController.php 的控制器。
- 为 products 表创建一个迁移文件。
自定义占位符
您可以通过发布占位符文件来自定义用于生成模型、控制器和迁移的占位符。
php artisan vendor:publish --tag=crud-stubs
以下占位符将被发布
- controller.stub: 用于标准控制器。
- controller.api.stub: 用于 API 控制器。
- model.stub: 用于模型。
- migration.stub: 用于迁移文件。
发布后,您可以在占位符目录中找到并编辑占位符以适应您的需求。
许可证
此包是开源软件,根据 MIT 许可证授权。
贡献
请随意为此包分叉、提交问题或提交拉取请求以进行改进和错误修复。
致谢
由 Nijwel 开发。