直到 Laravel 10,我都可以通过执行以下操作来检查
ConvertEmptyStringsToNull
中间件是否已全局注册
$kernal = $this->getLaravel()->make('App\\Http\\Kernel');
var exists = $kernal->hasMiddleware(\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class);
但是,在 Laravel 11
Kernel
中,类被删除了。如何检查ConvertEmptyStringsToNull
中间件是否已注册?
App\Http\Kernel
类已从应用程序中删除,但框架仍使用 Illuminate/Foundation/Http/Kernel
类。此外,与index.php
一样,您可以从界面解析使用的实例。将您的代码更新为:
$kernel = $this->getLaravel()->make(\Illuminate\Contracts\Http\Kernel::class);
var $exists = $kernel->hasMiddleware(\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class);