'Laravel 9.3.1 Target class [app\Http\Middleware\TestYear] does not exist [closed]

Thanks for your help in advance.

This is my middleware

<?php

namespace app\Http\Middleware;

use Closure;

class TestYear{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $year = $request->route('year');
        
        if(is_null($year) || $year != 2019){
            return redirect('/peliculas');
        }
        
        return $next($request);
    }
}

This is my kernel's middleware related config

protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
    'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
    'testyear' => \app\Http\Middleware\TestYear::class,
];

At web.php I added the controller that references

use App\Http\Controllers\PeliculaController;

And the route is

Route::get('/detalle/{year?}', [PeliculaController::class, 'detalle'])
        ->name('detalle.pelicula')
        ->middleware('testyear');

I've tried composer dump-autoload, composer update and php artisan clear-compiled



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source