【问题标题】:Crud Generator with Laravel使用 Laravel 的 Crud 生成器
【发布时间】:2020-02-19 09:33:06
【问题描述】:

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

【问题讨论】:

标签: laravel crud-admin-generator


【解决方案1】:

命令:

php artisan make:model User -mrc

RESTful 资源控制器

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 资源控制器 与显式路由结合使用。

【讨论】:

    【解决方案2】:

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

    Laravel 资源路由通过一行代码将典型的“CRUD”路由分配给控制器。例如,您可能希望创建一个控制器来处理对应用程序存储的“照片”的所有 HTTP 请求。使用 make:controller Artisan 命令,我们可以快速创建这样一个控制器:

    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

    【讨论】:

      猜你喜欢
      • 2015-09-26
      • 2016-02-09
      • 2019-08-19
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多