Heim  >  Fragen und Antworten  >  Hauptteil

Middleware im Laravel 9-Controller funktioniert nicht

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

P粉463811100P粉463811100260 Tage vor401

Antworte allen(1)Ich werde antworten

  • P粉649990163

    P粉6499901632024-02-26 10:50:46

    您必须从 app/Http/Kernel.php 注册中间件并将中间件添加到您的路由中。

    https://laravel.com/docs/9 .x/middleware#将中间件分配给路由

    Antwort
    0
  • StornierenAntwort