andreacivita / api-crud-generator
Laravel的简单API CRUD生成器
Requires
- php: ^7.3|^8.0
- doctrine/dbal: ^2.9
- illuminate/support: ^8.61
- laravel/framework: ^8.0|^9.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^7|^8
This package is auto-updated.
Last update: 2024-09-06 15:13:30 UTC
README
Laravel | API CRUD Generator
此生成器包提供了模型、控制器、请求、路由和测试的生成器,以实现无痛苦的开发。
安装
通过Composer安装包。
从终端运行Composer require命令
composer require andreacivita/api-crud-generator --dev
设置
从终端运行此命令
php artisan vendor:publish
选择andreacivita/api-crud-generator并完成设置。
用法
管理所有数据库
此包的用法非常简单。
首先,假设我想生成我数据库中所有表的CRUD。
因此,我们运行
php artisan make:crud --all
不需要其他选项。您的设置已完成!
交互式模式
您可以使用交互式模式或手动管理单个表(参见下一段)。
只需运行
php artisan make:crud --interactive
CRUD生成器将询问您多个数据(资源名称、表名称和使用时间戳)。
管理单个数据库表
现在假设我正在生成Car数据库表的CRUD操作。
运行此命令
php artisan make:crud Car
完成!您将拥有Car模型(位于App/Model目录)、CarController、CarRequest(用于输入数据)和路由(位于routes/api.php)。
选项
表名称
默认情况下,数据库表名是复数,而模型类名是单数(例如,表 => Cars,模型 => Car)。您可以通过在终端指定名称来更改此行为
php artisan make:crud Car --table Car
这将创建相同的资源,但模型中的表名将为'Car'(而不是默认的'Cars')
时间戳
默认情况下,此包将所有时间戳设置为false。您可以通过此命令更改此设置
php artisan make:crud Car --timestamps true
这将设置模型类中的'timestamps=true'。
Laravel/PASSPORT集成
默认情况下,路由将不会被passport保护。但是,您可以使用此命令生成由passport保护的路由
php artisan make:crud Car --passport
这将设置模型类中的'timestamps=true'。
路由
路由将遵循Route::resource()模式(由Laravel提供的默认路由模式)。
示例:我正在生成Car crud
请记住,所有API路由都有'api/'前缀。
测试
当创建CRUD结构(控制器、模型、请求、资源、工厂和路由)时,此包将生成功能测试文件。
设置生成的CRUD
工厂
测试现在需要工厂类来操作数据。您应该在您的工厂类中提供数据模式(使用Faker),这样您就可以轻松测试您的API
验证器
编写更好的代码将极大地帮助您!因此,控制器默认行为是强制您使用验证后的数据。您必须在您的FormRequest类中设置所有验证规则。
例如,对于Car Crud,您将在您的App\Request\CarRequest.php中设置规则
贡献
此包受MIT许可协议保护。您可以对此代码做任何您想做的事情。
请随意fork此包,并通过提交拉取请求来贡献以增强功能。您可以看到问题或增强功能并分配任务以进行贡献:)
我该如何感谢您?
收藏此仓库或关注我的GitHub。如果愿意的话,您还可以分享此链接!:)
作者
此软件包最初由Andrea Civita开发
特别感谢Bastianjoel的贡献,他提交了pull request