🧩 1. App\Http\Kernel 被移除
-
Laravel 12 不再默认生成
app/Http/Kernel.php。 -
系统改为使用框架内的
Illuminate\Foundation\Configuration\Middleware来配置全局中间件、别名中间件、组中间件。
✅ 替代方式:
在 bootstrap/app.php 中,会使用如下方式注入内核:
$app->useConfiguration(function (\Illuminate\Foundation\Configuration\Application $app) {
$app->withMiddleware(function (\Illuminate\Foundation\Configuration\Middleware $middleware) {
$middleware->alias([
'auth' => \App\Http\Middleware\Authenticate::class,
// ...
]);
$middleware->group('web', [
\App\Http\Middleware\EncryptCookies::class,
// ...
]);
});
});
🧾 2. 中间件注册方式变化
不再使用 $middlewareGroups, $routeMiddleware 等属性。而是通过 configure() 回调中显式调用:
$middleware->alias([
'auth' => \App\Http\Middleware\Authenticate::class,
]);
$middleware->group('web', [
\App\Http\Middleware\EncryptCookies::class,
// ...
]);
这让中间件配置更加函数式、模块化,不依赖 Kernel 的类属性。
🏗️ 3. 引导配置集中化:全靠 bootstrap/app.php 统

最低0.47元/天 解锁文章
904

被折叠的 条评论
为什么被折叠?



