Laravel的控制器类型有什么区别?
What is the difference between controller types of Laravel?
我在 resource
和 plain
控制器之间没有发现任何关于 definitions/differences 的信息。
它们有什么区别?
控制器类型的简单定义是:
Resource 控制器用于执行所有 CRUD 操作。
Plain 控制器用于任何手动执行的操作。
当您简单地使用 **php artisan:make controller ControllerName**
创建一个命令时,它会创建一个没有函数的文件。您可以自己添加功能。
但是,如果您使用资源创建控制器,那么它只会为您提供 CRUD 操作所需的所有功能。
使用普通控制器,您必须为每个功能创建路由。但是对于资源控制器,您只需添加 Route::resource('/routename','ControllerName');
然后它将为您的 index、create、store、show、edit、update 和 delete 函数添加所有路由。
希望这个回答对你有帮助..
--普通
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
我在 resource
和 plain
控制器之间没有发现任何关于 definitions/differences 的信息。
它们有什么区别?
控制器类型的简单定义是:
Resource 控制器用于执行所有 CRUD 操作。
Plain 控制器用于任何手动执行的操作。
当您简单地使用 **php artisan:make controller ControllerName**
创建一个命令时,它会创建一个没有函数的文件。您可以自己添加功能。
但是,如果您使用资源创建控制器,那么它只会为您提供 CRUD 操作所需的所有功能。
使用普通控制器,您必须为每个功能创建路由。但是对于资源控制器,您只需添加 Route::resource('/routename','ControllerName');
然后它将为您的 index、create、store、show、edit、update 和 delete 函数添加所有路由。
希望这个回答对你有帮助..
--普通
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