bgaze / laravel-crud
Laravel 5.5+ 的 CRUD 生成器
1.0.1
2019-04-16 13:47 UTC
Requires
- bgaze/laravel-php-cs-fixer: ~1
- laravel/framework: >=5.5.0
- laravelcollective/html: >=5.5.4
- tightenco/ziggy: ~0.6
This package is auto-updated.
Last update: 2024-09-08 23:20:14 UTC
README
目录
“约定”部分解释了非常重要的概念。
请在使用此包之前仔细阅读。
文档
概述
此包允许您轻松地为 Laravel 5.5+ 应用程序生成 CRUD。
请查看 Vimeo 上的这个简短视频 来了解其实际效果。
使用 SignInput 语法,它提供了一种简洁方便的方式来定义模型字段。
它旨在轻松创建自定义 CRUD,即 主题。
提供了两个简单的主题
- crud:classic 生成一个完整的“经典”CRUD。
它为您创建:迁移、模型、工厂、播种器、请求、资源、控制器、Blade 视图和路由。 - crud:api 生成一个完整的 REST API CRUD。
它为您创建:迁移、模型、工厂、播种器、请求、资源、控制器和路由。
安装
简单地将包作为开发依赖项导入您的 Laravel 应用程序
composer require --dev bgaze/laravel-crud
您可以将包配置发布到 /config/crud.php
php artisan vendor:publish --provider=Bgaze\Crud\ServiceProvider
并将经典主题视图发布到 /resources/views/vendor/crud-classic
php artisan vendor:publish --tag=crud-classic-views
为什么使用这个包?
Laravel 是我最喜欢的 PHP 框架。
但是,在日常工作中,我意识到每次创建模型时,我都在浪费时间做重复性任务,而不是真正专注于应用程序本身。
- 生成类:模型、迁移、控制器、请求、工厂、播种器、...
- 在迁移中定义表字段。
- 在请求类中创建规则。
- 在工厂中创建模型模拟。
- 在控制器中定义 CRUD 操作。
- 注册控制器路由。
- 创建 CRUD 视图和模型表单。
我相信这个过程可以通过自动化来大大简化,以产生一个通用的 CRUD,我们只需要进行定制,从而保持对应用程序逻辑的关注。
关键在于从模型表字段中定义,遵循框架约定,可以推导出很多东西。
例如,请求规则或表单字段:非空字段是必需的,枚举字段通常是一个选择框。
但即使 CRUD 生成逻辑几乎相同,生成的文件也会因所使用的工具而大相径庭。
例如,使用经典 HTML 或 Vue.js,CRUD 文件将非常不同。
因此,此包的目标是提供
- 一种方便的方式来定义 CRUD 生成所需的信息。
- 一个可扩展的基类,可以轻松创建自定义 CRUD 生成器(称为 主题)。
- 两个简单的主题,可以作为自定义 CRUD 的基础使用
- REST API CRUD。
- 使用 Blade 模板的标准 CRUD。
约定
CRUD 生成器需要操作模型名称以生成所需资源。
作为一个约定,我们指定
- FullName: 包含命名空间但不包含
App
部分的模型名称。 - Plural: FullName 的最后一个部分被复数化。
- Plurals: FullName 的每个部分都被复数化。
示例
Models:
\App\MyGrandParent
\App\MyGrandParent\MyParent
\App\MyGrandParent\MyParent\MyChild
FullName:
MyGrandParent
MyGrandParent\MyParent
MyGrandParent\MyParent\MyChild
Plural:
MyGrandParents
MyGrandParent\MyParents
MyGrandParent\MyParent\MyChildren
Plurals:
MyGrandParents
MyGrandParents\MyParents
MyGrandParents\MyParents\MyChildren