laravel 10之前的版本和之后的版本的kenel文件的位置和区别

下面把 Laravel ≤10(含 10) 与 Laravel ≥11(含 11) 的 Kernel 文件 位置、作用、差异一次性拆给你,按“旧版 → 新版”对照阅读即可。

1️⃣ 文件位置对照表

功能Laravel 10 及更早Laravel 11 及以后
HTTP 请求入口app/Http/Kernel.php文件已移除
CLI / Artisan 入口app/Console/Kernel.php文件已移除
统一配置入口无(分散在以上两个文件)bootstrap/app.php

2️⃣ 职责迁移对照

旧职责旧版文件新版实现
全局中间件app/Http/Kernel.php → $middlewarebootstrap/app.php → withMiddleware()
中间件组 web/apiapp/Http/Kernel.php → $middlewareGroupsbootstrap/app.php → withRouting(web:, api:, …)
路由别名app/Http/Kernel.php → $routeMiddlewarebootstrap/app.php → withMiddleware()->alias()
定时任务 scheduleapp/Console/Kernel.php → schedule()routes/console.php 内 Schedule::command()
自定义 Artisan 命令app/Console/Kernel.php → commands()bootstrap/app.php → withCommands([])
异常处理app/Exceptions/Handler.phpbootstrap/app.php → withExceptions()

3️⃣ 代码对比(旧 → 新)

旧版:app/Http/Kernel.php
class Kernel extends HttpKernel
{
    protected $middleware = [
        \App\Http\Middleware\TrustProxies::class,
    ];

    protected $middlewareGroups = [
        'web' => [...],
        'api' => [...],
    ];
}
新版:bootstrap/app.php
return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: __DIR__.'/../routes/api.php',
        commands: __DIR__.'/../routes/console.php',
    )
    ->withMiddleware(function (Middleware $middleware) {
        $middleware->web(append: \App\Http\Middleware\TrustProxies::class);
    });

4️⃣ 一句话总结

  • ≤ Laravel 10
    HTTP 相关配置写在 app/Http/Kernel.php,CLI 相关配置写在 app/Console/Kernel.php

  • ≥ Laravel 11
    两个 Kernel 文件 全部移除,所有配置 集中写在 bootstrap/app.php 的链式闭包里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值