<?phpnamespaceApp\Http\Middleware;useClosure;useIlluminate\Foundation\Http\Middleware\VerifyCsrfTokenas Middleware;useIlluminate\Session\TokenMismatchException;classVerifyCsrfTokenextendsMiddleware{/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/protected$except=[//];publicfunctionhandle($request, Closure $next){try{returnparent::handle($request,$next);}catch(TokenMismatchException $e){// 自己的逻辑}}}
Could not check compatibility between App\Http\Middleware\VerifyCsrfToken::handle($request, App\Http\Middleware\Closure $next) and Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::handle($request, Closure $next), because class App\Http\Middleware\Closure is not available
以前版本的办法不行了,搞不明白Laravel为啥要修改异常管理
刚瞄了下源码,可以试试我这个办法。
改一下中间件:
@落叶满长安 有没有办法在异常的时候拦截
我以前就是这样,也就是相当于定义异常的处理方式
Could not check compatibility between App\Http\Middleware\VerifyCsrfToken::handle($request, App\Http\Middleware\Closure $next) and Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::handle($request, Closure $next), because class App\Http\Middleware\Closure is not available
你这个方式会报这个错
你想换报错提示,捕获它的异常再重新抛出不就是最好的方式了吗?
我两种办法都弄好了,也解决了在新版框架中处理异常的问题了