Einfacher Testcode
Middleware muss im Controller ausgeführt werden, aber es funktioniert nicht Wenn Sie außerdem den Middleware-Schlüssel durch einen Zufallsschlüssel ändern, ignorieren Sie ihn und geben Sie nur die „konstruierte“ Zeichenfolge wieder
<?php namespace App\Http\Controllers; use Closure; use Illuminate\Http\Request; class RootController extends Controller { public function __construct() { $this->middleware('middleware.key'); echo 'construct<br>'; } public function test(){ return 'test'; } }
<?php namespace App\Http\Middleware; use App\Http\Controllers\Controller; use Closure; use Illuminate\Http\Request; class TestMiddleware extends Controller { public function handle(Request $request, Closure $next) { echo 'middleware'; return $next($request); } }
output is : construct test
您必须从
app/Http/Kernel.php
注册中间件并将中间件添加到您的路由中。https://laravel.com/docs/9 .x/middleware#将中间件分配给路由