• laravelmiddleware中间件常用使用方法


    介绍

    • 中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。例如,Laravel 包含一个中间件,验证您的应用程序的用户身份验证。如果用户未被认证,中间件会将用户重定向到登录界面。然而,如果用户通过身份验证,中间件将进一步允许请求到应用程序中。
    • 当然,除了身份认证以外,还可以编写另外的中间件来执行各种任务。例如:CORS 中间件可以负责为所有离开应用的响应添加合适的头部信息;日志中间件可以记录所有传入应用的请求。
    • Laravel 自带了一些中间件,包括身份验证、CSRF 保护等。所有这些中间件都位于 app/Http/Middleware 目录

    定义中间件的命令:

    php artisan make:middleware  GetCurrentTime

    该命令会在 app/Http/Middleware 目录下创建一个新的GetCurrentTime类,

    下面我们来演示一下中间件的简单使用

    编写一个显示时间的middleware

      

    编写完成的中间件必须注册之后才能使用: 在app\Http\Kernel.php中注册

    1.全局注册

    在Kernel.php的protected $middleware中注册全局都可以使用 

     protected $middleware = [
            \App\Http\Middleware\GetCurrentTime::class,
        ];

    显示如下

    2.使用路由进行注册使用 :

    在protected $routeMiddleware中注册路由中间件

     protected $routeMiddleware = [    
    'get_current_time'=>\App\Http\Middleware\GetCurrentTime::class, ];

    显示如下:在路由后面使用链式加middleware(‘你定义的路由中间件的名称’);

      

    结果如下

    3. 在控制器中使用

    在定义中的控制器中使用的Route代码

    Route::get('demo','TestController@index');
    class TestController extends Controller
    {
    
        public  function __construct(){
       // 排除某些方法
    //  return $this->middleware(['get_current_time'])->except('index');
    return $this->middleware('get_current_time'); 
    }

    public function index(){

    echo 'a';
    }
    }

    显示如下

  • 相关阅读:
    互联网预言大神:凯文·凯利——预测未来的12个趋势
    仅有算法远远不够:AI突破下一站,需要对硬件重新审视
    软件开发中经常使用的5种设计模式
    强化学习到底是什么,它如何运作?
    2020年网络安全的六大经验教训
    选择困难终结者:不同问题之下的机器学习算法
    为什么物联网如此重要?
    Pku3080 Blue Jeans
    pku1734 Musical Theme
    [Usaco2006 Dec]Milk Patterns
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/12287520.html
Copyright © 2020-2023  润新知