原csdn地址https://blog.cs|

蜗牛使劲冲

园龄:7年6个月粉丝:3关注:10

laravel中间件的使用

参考:https://laravelacademy.org/post/8739.html

php artisan make:middleware HelloAccess
  • 先在/App/Http/Middleware里面看个HelloAccess.php文件
namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class HelloAccess
{
    public function handle(Request $request,$next){
        if(1>2){
            echo 'error';
        }
        return $next($request);
    }
}
  • 然后到/App/Http/Kernel.php中的$routeMiddleware添加'helloaccess' => \App\Http\Middleware\HelloAccess::class,
  • 最后到routes/web.php里面
Route::group(['middleware'=>['access']],function (){
    Route::any('teacher/count/homeworkCount','Teacher\CountController@homeworkCount');
    Route::any('teacher/count/studentCount','Teacher\CountController@studentCount');
});

醒悟:1.原来是先走__construct再走中间件,再走指定的方法
2.laravel的__construct是不能用session这个方法的

so,我要这样在中间件中加东西

class THomeWorkController extends Controller
{
    public function __construct()
    {   // 这个方法里面不可以用session,非要这样用才可以,是个坑
        $this->middleware(function ($request, $next) {
            $this->userId = User::getUserId($isTeacher = true);
            return $next($request);
        });
    }
}

本文作者:蜗牛使劲冲

本文链接:https://www.cnblogs.com/warrenwt/p/18074617

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   蜗牛使劲冲  阅读(2)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起