日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Laravel 学习路线【4】控制器

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Laravel 学习路线【4】控制器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

控制器簡介
控制器可以將相關的HTTP 請求封裝到一個勒種進行處理,控制器目錄在 app/Http/Controllers 目錄中

定義控制器

<?php namespace App\Http\Controllers;use App\User; use App\Http\Controlelrs\Controller;class UserController extends Controller {//為指定用戶顯示詳情public function show($id){return view('user.profile',['user' => User::findOrFail($id)]);} }

我們可以這樣定義路由

Route::get('user/{id}','UserController@show');

如果一個請求匹配到上面URI UserControllershow 方法就會被執行。路由參數也會傳遞給當前方法

單動作控制器

如果你想定義一個只處理一個動作的控制器,可以在控制器中定義 __invoke 方法。

<?phpnamespace App\Http\Controllers;use App\User; use App\Http\Controllers\Controller;class ShowProfile extends Controller {public function __invoke($id){return view('user.profile',['users' => findOrFail($id)]);} }

當你為這個單動作控制器注冊路由的時候,不需要指定方法:

Route::get('user/{id}','ShowProfile');

控制器中間件

中間件可以像這樣分配給控制器路由

Route::get('profile','UserController@show')->middleware('auth');

但是,將中間件放在控制器構造函數中更方便,在控制器的構造函數中使用 middleware 方法你可以很輕松的分配中間件給該控制器。

class UserController extends Controller {//實例化一個新的UserController 實例public function __construct(){$this->middleware('auth');$this->middleware('log')->only('index');$this->middleware('subscribed')->except('store');} }

在控制器中還可以使用閉包注冊中間件,這為我們定義只在某個控制器中使用中間件提供了方便,無需定義完整的中間件類:

$this->middleware(function($request,$next){return $next($request);})

注:你還可以將中間件分配給多個控制器動作,不過,這意味著你的控制器會變得越來越臃腫,這種情況下,需要考慮將控制器分割成多個更小的控制器。

總結

以上是生活随笔為你收集整理的Laravel 学习路线【4】控制器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。