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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步