mrdebug/crudgen 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mrdebug/crudgen

Composer 安装命令:

composer require mrdebug/crudgen

包简介

Create a Laravel Crud in a few seconds

README 文档

README

Crud Generator Laravel is a package that you can integrate in your Laravel to create a REAL CRUD. It includes :

  • Controller with all the code already written
  • Views (index, create, edit, show)
  • Model with relationships
  • Request file with validation rules
  • Migration file

And since 1.9.2, a complete REST API !

[ NEW ] Your voice matters! Participate in the polls and vote for future features and improvements

If you find this project useful, please consider giving it a star⭐. It helps me prioritize and focus on keeping project up-to-date. Thank you for your support!

Installation

1. Run the following composer command:

composer require mrdebug/crudgen --dev

2. If you don't use Laravel Collective Form package in your project, install it:

composer require laravelcollective/html

(Note: This step is not required if you don't need views.)

3. Publish the configuration file, stubs and the default-theme directory for views:

php artisan vendor:publish --provider="Mrdebug\Crudgen\CrudgenServiceProvider"

Usage

Create CRUD (or REST API)

Let's illustrate with a real life example : Building a blog

A Post has many (hasMany) Comment and belongs to many (belongsToMany) Tag

A Post can have a title and a content fields

Let's do this 🙂

If you need a REST API instead of CRUD, read this wiki

CRUD generator command :

php artisan make:crud nameOfYourCrud "column1:type, column2" (theory)

php artisan make:crud post "title:string, content:text" (for our example)

Available options

Generate CRUD with livewire datatable

When you call this command, the controller, views and request are generated with your fields (in this case, title and content). image

Now let's add our relationships (Comment and Tag models) :

image

We add a hasMany relationship between our Post and Comment and a belongsToMany with Tag

Two migrations are created (create_posts AND create_post_tag).

create_posts is your table for your Post model

create_post_tag is a pivot table to handle the belongsToMany relationship

Post model is generated too with both relationships added

image

Migration

Both migration files are created in your database/migrations directory. If necessary edit them and run :

php artisan migrate

Controller

A controller file is created in your app/Http/Controllers directory. All methods (index, create, store, show, edit, update, destroy) are filled with your fields.

Routes

To create your routes for this new controller, you can do this :

Route::resource('posts', PostsController::class); (don't forget to import your PostsController in your web.php file)

Screenshots

/posts/create : image

/posts : image

You can edit and delete your new post. And a show page is created too 🙂

Request

A request file is created in your app/Http/Requests directory. By default, all fields are required, you can edit it according to your needs.

Views

A views directory is created in your resources/views directory. If you want to customize generated views : https://github.com/misterdebug/crud-generator-laravel/wiki/Custom-your-views

You can create views independently of the CRUD generator with : php artisan make:views nameOfYourDirectoryViews "column1:type, column2"

Finish your blog

Add your Comment CRUD (with a column comment and a post_id)

php artisan make:crud comment "comment:text, post_id:integer"

Add your Tag CRUD (with a column name)

php artisan make:crud tag "name"

FYI : Comment is a specific case and you can use make:commentable command Docs about commentable

Finished 🎉

Remove a CRUD

You can delete all files (except migrations) created by the make:crud command at any time. No need to remove files manually :

php artisan rm:crud nameOfYourCrud --force

php artisan rm:crud post --force (in our example)

The --force flag (optional) deletes all files without confirmation

image

License

This package is licensed under the license MIT.

Other Projects

Explore my other projects on GitHub:

  • LaraFileEncrypter: Secure your files in Laravel with AES-256 encryption, without persistent key storage hassle.

mrdebug/crudgen 适用场景与选型建议

mrdebug/crudgen 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 29.43k 次下载、GitHub Stars 达 318, 最近一次更新时间为 2016 年 11 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「generator」 「rest」 「crud」 「laravel」 「rest-api」 「laravel-package」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 mrdebug/crudgen 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 mrdebug/crudgen 我们能提供哪些服务?
定制开发 / 二次开发

基于 mrdebug/crudgen 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 29.43k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 319
  • 点击次数: 24
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 318
  • Watchers: 7
  • Forks: 42
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-11-11