Laravel 的 Crud 生成器

Crud Generator with Laravel

自 2 周以来,我在一个应用程序开发项目中工作。我必须创建很多 CRUD,这可能需要很多次。现在我想知道我是否可以使用免费的 crud 生成器 laravel.If 是的,哪个生成器? 需要你的帮助。

Laravel已经提供了CRUD操作见:laravel.com/docs/5.8/controllers#resource-controllers

Laravel resource routing assigns the typical "CRUD" routes to a controller with a single line of code. For example, you may wish to create a controller that handles all HTTP requests for "photos" stored by your application. Using the make:controller Artisan command, we can quickly create such a controller:

php artisan make:controller PhotoController --resource

[编辑 1]

或者您可以选择,例如:Laravel-Backpack/CRUD,它带有管理面板和其他类似的东西。

[编辑 2]

也可以参考这篇Laravel博客来选择生成器:

https://laravel-news.com/13-laravel-admin-panel-generators

[编辑 3]

再次在 Laravel 博客上,您可以看到 Laravel 正在不断发展,添加了新的 Artisan 命令,请参阅:

laravel-news.com/laravel-resources-artisan-command

命令:

php artisan make:model User -mrc

RESTful 资源控制器

A RESTful 资源控制器 为您设置一些默认路由,甚至为它们命名。

Route::resource('users', 'UsersController');

为您提供这些命名路线:

Verb          Path                        Action  Route Name
GET           /users                      index   users.index
GET           /users/create               create  users.create
POST          /users                      store   users.store
GET           /users/{user}               show    users.show
GET           /users/{user}/edit          edit    users.edit
PUT|PATCH     /users/{user}               update  users.update
DELETE        /users/{user}               destroy users.destroy

你会像这样设置你的控制器(动作=方法)

class UsersController extends BaseController {

    public function index() {}

    public function show($id) {}

    public function store() {}

}

您还可以像这样选择包含或排除的操作:

Route::resource('users', 'UsersController', [
    'only' => ['index', 'show']
]);

Route::resource('monkeys', 'MonkeysController', [
    'except' => ['edit', 'create']
]);

RESTful Resource Controller documentation


隐式控制器

隐式控制器更灵活。您将根据 HTTP 请求类型和名称路由到您的控制器方法。但是,您没有为您定义路由名称,它将捕获同一路由的所有子文件夹。

Route::controller('users', 'UserController');

会引导您使用某种 RESTful 命名方案设置控制器:

class UserController extends BaseController {

    public function getIndex()
    {
        // GET request to index
    }

    public function getShow($id)
    {
        // get request to 'users/show/{id}'
    }

    public function postStore()
    {
        // POST request to 'users/store'
    }

}

Implicit Controller documentation


根据您的喜好使用您需要的是一种很好的做法。我个人不喜欢 隐式控制器 ,因为它们可能很乱,不提供名称并且在使用 php artisan routes 时可能会造成混淆。我通常将 RESTful 资源控制器 与显式路由结合使用。