我没有发现关于resource
和plain
控制器之间的定义/差异。
它们之间有什么区别?
答案 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