Laravel5.7框架安装与使用学习笔记图文详解(4)
修改/routes/web.php路由配置,给后台用户路由组添加中间件属性:
//后台用户 Route::group(['prefix' => 'admin/user' , 'middleware' => 'admin.checklog'], function () { //用户列表 Route::get('userlist', 'UserController@userlist'); //用户添加 Route::get('useradd', 'UserController@useradd'); });
此时访问用户列表页,会先走中间件判断登录状态,没登录跳转到首页:
(Kernel.php中其他中间件属性:全局中间件$middleware
、中间件组$middlewareGroups
、中间件执行顺序$middlewarePriority
)
如果不给路由设置中间件属性,也可以在控制器的构造方法里设置中间件,可以指定或排除具体某一个操作,示例如下:
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; class UserController extends Controller { public function __construct(){ //全部操作生效 $this->middleware('admin.checklog'); //仅xxx操作生效 // $this->middleware('admin.checklog')->only('userlist'); //除xxx操作生效 // $this->middleware('admin.checklog')->except('useradd'); } public function userlist(){ return '后台用户列表页'; } public function useradd(){ return '后台用户添加'; } }
【请求 request】
获得请求,首先需要引入 Illuminate\Http\Request 类
基本使用:
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; class IndexController extends Controller { public function index(Request $request){ $uri = '请求路径:'.$request->path(); $url = '请求URL:'.$request->url(); $method = '请求方法:'.$request->method(); $name = '获取请求参数:'.$request->input('name'); $mid = '获取cookie:'.$request->cookie('mid'); $key = '获取session:'.$request->session()->get('key'); $file = '获取上传文件:'.$request->file('photo'); dump($uri); dump($url); dump($method); dump($name); dump($mid); dump($file); //验证请求路径 //if ($request->is('admin/*')) { //} //验证请求方法 //if ($request->isMethod('post')) { //} } }