laravel框架中间件简单使用方法示例

 更新时间:2020年01月25日 12:39:05   转载 作者:与f  
这篇文章主要介绍了laravel框架中间件简单使用方法,结合实例形式详细分析了laravel框架中间件的功能、原理、用法及操作注意事项,需要的朋友可以参考下

本文实例讲述了laravel框架中间件简单使用方法。分享给大家供大家参考,具体如下:

laravel内置了一个中间件来验证用户是否经过认证,如果用户没有经过认证,中间件会将用户重定向到登录页面,否则如果用户经过认证,中间件就会允许请求继续往前进入下一步操作。

当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求。

Laravel框架自带了一些中间件,包括认证、CSRF 保护中间件等等。所有的中间件都位于 app/Http/Middleware目录。

中间是请求前还是请求后执行取决于中间件本身,以下中间件会在请求处理前执行一些任务

<?php
namespace App\Http\Middleware;
use Closure;
class TestMiddle
{
  public function handle($request, Closure $next)
  {
    // 执行动作
    if(!$request->session()->has('huser')){
      return redirect("login/index");
    }
    return $next($request);
  }
}

而下面这个中间件则会在请求处理后执行其任务:

<?php
namespace App\Http\Middleware;
use Closure;
class TestMiddle
{
  public function handle($request, Closure $next)
  {
    $response = $next($request);
    // 执行动作
    if(!$request->session()->has('huser')){
      return redirect("login/index");
    }
    return $response;
  }
}

中间件可以自己在编辑器里面新建对应类生成,也可用命令生成

php artisan make:middleware TestMiddle

此时,laravel的app\Http\Middleware\目录就会多一个TestMiddle.php的中间件文件

此时中间件还不能直接使用,必须把它注册到我们的laravel中,如下

只需在 app/Http/Kernel.php 类(3个属性,对应里面加入,我有时用路由的)

'TestMiddle' => \App\Http\Middleware\TestMiddle::class,

分配中间件到路由,下面介绍三种方式

Route::get('/',function(){
  return redirect('home/index');
})->middleware('TestMiddle');
Route::group(['middleware' => ['TestMiddle']], function() {
  Route::controller("db","DataBaseController");
});
Route::controller("home","HomeController",['middleware'=>'TestMiddle']);

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

相关文章

  • 使用配置类定义Codeigniter全局变量

    使用配置类定义Codeigniter全局变量

    Codeigniter的全局变量也可以借助 helper 函数来实现。不过,更为合适的方式可能要属用配置类定义了。这篇文章主要介绍了使用配置类定义Codeigniter全局变量,需要的朋友可以参考下
    2014-06-06
  • ioncube_loader_win_5.2.dll的错误解决方法

    ioncube_loader_win_5.2.dll的错误解决方法

    这篇文章主要介绍了ioncube_loader_win_5.2.dll的错误解决方法的相关资料,需要的朋友可以参考下
    2015-01-01
  • php socket通信简单实现

    php socket通信简单实现

    这篇文章主要为大家详细介绍了php简单实现socket通信的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • PHP网站开发中常用的8个小技巧

    PHP网站开发中常用的8个小技巧

    这篇文章主要介绍了PHP网站开发中常用的8个小技巧,本文讲解了命名、使用、PHP判断Form表单是否提交、PHP 获取字符串长度、PHP超全局对象等内容,需要的朋友可以参考下
    2015-02-02
  • php图片的裁剪与缩放生成符合需求的缩略图

    php图片的裁剪与缩放生成符合需求的缩略图

    用在移动设备上时显示效果不好且流量巨大,需要对现有图片库的图片进行一次处理,生成符合移动设备用的缩略图,将原来客户端JS做的工作转移到服务器端用PHP的GD库来集中处理,感兴趣的朋友可以了解下
    2013-01-01
  • 老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略

    老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略

    这篇文章主要介绍了Ubuntu下Apache+PHP+MySQL环境搭建攻略,文中采用的是LoadModule加载模块的方式将PHP与Apache服务器程序连接,需要的朋友可以参考下
    2016-03-03
  • thinkPHP5框架数据库连贯操作之cache()用法分析

    thinkPHP5框架数据库连贯操作之cache()用法分析

    这篇文章主要介绍了thinkPHP5框架数据库连贯操作之cache()用法,结合实例形式分析了thinkPHP5中缓存cache的应用场景及连贯操作中cache的设置、更新、删除等操作技巧,需要的朋友可以参考下
    2018-01-01
  • php实现用户登陆简单实例

    php实现用户登陆简单实例

    这篇文章主要介绍了php实现用户登陆简单实例的相关资料,需要的朋友可以参考下
    2017-04-04
  • php+redis实现商城秒杀功能

    php+redis实现商城秒杀功能

    这篇文章主要为大家详细介绍了php+redis实现商城秒杀功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • php 网页游戏开发入门教程一(webgame+design)

    php 网页游戏开发入门教程一(webgame+design)

    网页游戏开发入门教程一 webgame+design , 大家可以参考下。
    2009-10-10

最新评论