laravel(七)-中间件(Middleware)
来源:互联网 发布:医药大数据 编辑:程序博客网 时间:2024/05/16 15:14
Middleware
HTTP中间件有什么用?
HTTP 中间件提供了一个便利的机制来过滤进入应用的 HTTP 请求。例如,Laravel 包含了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。
中间件使用流程
创建
在\app\Http\Middleware\文件夹下新建对应的中间件,例如Register.php.
<?phpnamespace App\Http\Middleware;use Closure;class Register{ /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { /*** 前置操作 ***/ // [前置操作],中间件逻辑操作先于路由真实对应的操作,中间件逻辑位于$next($request)前 // 一些操作逻辑... return $next($request); /*** 后置操作 ***/ // [后置操作],中间件逻辑操作后于路由真实对应的操作,中间件逻辑位于$next($request)后 $response = $next($request); // 一些操作逻辑... return $response; }}
注册
在\app\Http\Kernel.php中进行注册
<?phpnamespace App\Http;use App\Http\Middleware\Register;use Illuminate\Foundation\Http\Kernel as HttpKernel;class Kernel extends HttpKernel{ /** * The application's global HTTP middleware stack. * 在这里注册全局中间件 * * @var array */ protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, ]; /** * The application's route middleware. * 在这里注册局部中间件 * * @var array */ protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'regester'=>Register::class, ];}
使用
在路由中使用中间件,\app\Http\routes.php
Route::group(['middleware'=>'regester'],function(){ Route::any('regester',[ 'as'=>'reg', 'uses'=>'IndexController@regester' ]);});
前置操作与后置操作
- [前置操作]:中间件逻辑操作先于路由真实对应的操作,中间件逻辑位于$next($request)前
- [后置操作],中间件逻辑操作后于路由真实对应的操作,中间件逻辑位于$next($request)后
阅读全文
0 0
- laravel(七)-中间件(Middleware)
- Laravel Middleware 中间件
- 中间件 (Middleware)
- PHP中间件(middleware)解析
- redux的中间件(middleware)
- PHP中间件(middleware)解析
- Koa中间件(middleware)实现探索
- Django框架全面讲解 -- 中间件(MiddleWare)
- Laravel框架学习(中间件)
- (学习笔记) Laravel 中间件
- 中间件 Middleware
- 中间件 Middleware
- Middleware 中间件
- laravel middleware
- [踩坑] laravel中间件不是make一个middleware然后在route中使用就行的
- laravel框架-设置中间件middleware报错,提示Route[login] not defined问题
- 关于中间件(MiddleWare)
- Middleware【中间件】简介
- 匿名函数和内置函数
- java学习之二-数组
- 如何将大规模数据导入Neo4j
- 欢迎使用CSDN-markdown编辑器
- CDOJ (UESTC OJ) 1380 Xiper的奇妙历险(3)
- laravel(七)-中间件(Middleware)
- 语言结构语句
- 根据后台循环的数据动态弹出提示框,并且实现带有遮蔽层
- rails路由url、具名路由规则
- java ByteArrayOutputStream read()
- Thinking in java-24 Polymorphism 多态
- linux常用命令
- 校园网(锐捷):VLAN绑定错误
- 指针遍历字符