gpt4 book ai didi

php - Laravel 5 收银员中间件路由错误

转载 作者:搜寻专家 更新时间:2023-10-31 21:27:18 25 4
gpt4 key购买 nike

我已经从 Laravel 5 实现了收银员/计费功能,我正在尝试使用检查订阅的中间件来保护一组路由。

我收到以下错误:

Argument 2 passed to App\Http\Middleware\HasSubscription::handle() must be an instance of App\Http\Middleware\Closure, instance of Closure given

这是我的中间件

<?php

namespace App\Http\Middleware;

class HasSubscription
{
public function handle($request, Closure $next)
{
if ($request->user() && ! $request->user()->subscribed()) {
// This user is not a paying customer...
return redirect('subscription');
}

return $next($request);
}
}

这是我的 protected 路线

Route::get('home', 'PagesController@index')->middleware('subscription');

这是我的应用程序路由声明

protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'subscription' => \App\Http\Middleware\HasSubscription::class,
];

知道为什么我在顶部收到错误吗?

最佳答案

只需添加

use Closure;

到中间件的顶部,就在类定义之前:

namespace App\Http\Middleware;

use Closure;

class HasSubscription
{
...

查看手册中的示例:http://laravel.com/docs/5.1/middleware#defining-middleware

关于php - Laravel 5 收银员中间件路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34275510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com