Laravel的控制器类型之间有什么区别?

时间:2019-02-04 09:26:05

标签: laravel laravel-controller

我没有发现关于resourceplain控制器之间的定义/差异。

它们之间有什么区别?

3 个答案:

答案 0 :(得分:1)

仅使用**php artisan:make controller ControllerName**创建命令时,它将创建一个没有任何功能的文件。您可以自己添加功能。

但是,如果您使用资源创建控制器,那么它将简单地为您提供CRUD操作所需的所有功能。
使用普通控制器,您必须为每个功能创建路由。但是使用资源控制器,您只需添加Route::resource('/routename','ControllerName');,然后它将为您的索引,创建,存储,显示,编辑,更新和删除功能添加所有路由。 我希望这个答案对您有帮助。

答案 1 :(得分:0)

控制器类型的简单定义是:

资源控制器在您执行所有 CRUD 操作时使用。
普通控制器用于手动执行的任何操作。

答案 2 :(得分:0)

-普通

php artisan make:controller Mycontroller --plain

由于您传递了参数–plain,因此最终将构成简单的构造函数。

您可以使用下面的语法从routes.php文件中调用您创建的控制器-

示例:-Route::get('base URI','Mycontroller@method');

基本的控制器代码如下所示: app / Http / Controller / MyController.php

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller
{
    //
}

资源控制器

Laravel的资源路由为具有一行代码的控制器分配了经典的“ CRUD”路由。可以使用make:controller命令(Artisan命令)快速创建此文件。

php artisan make:controller MyController --resource

资源控制器处理的操作:

Verb       URI                   Action          Route Name

GET        /photos               index           photos.index
GET        /photos/create        create          photos.create
POST       /photos               store           photos.store
GET        /photos/{photo}       show            photos.show
GET        /photos/{photo}/edit  edit            photos.edit
PUT/PATCH  /photos/{photo}       update          photos.update 
DELETE     /photos/{photo}       destroy         photos.destroy

更多详细信息:-Resource Controllers