Laravel 11的目录结构有哪些重大变化? (精简版应用结构)

发布时间 - 2026-01-13 00:00:00    点击率:
被直接删除的目录是app/Http、app/Exceptions、app/Http/Middleware和config/;这些路径在新项目中默认不存在,强行引用会报错,中间件与异常处理逻辑已统一收口至bootstrap/app.php的withMiddleware和withExceptions闭包。

Laravel 11 彻底移除了 app/Httpapp/Exceptionsapp/Http/Middleware 等传统子目录,也不再默认提供 config/ 目录——这不是“精简”,而是重构后的约定优先设计。

哪些目录被直接删除了?

这些路径在新项目中默认不存在,强行引用会报错:

  • app/Http/Kernel.php → 全局中间件逻辑现在统一收口到 bootstrap/app.php 中的 withMiddleware 闭包
  • app/Http/Middleware/ → 中间件类可放在 app/Middleware/(需手动创建),但更推荐按需注册,避免冗余
  • app/Exceptions/Handler.php → 异常处理逻辑迁移到 bootstrap/app.phpwithExceptions 闭包
  • config/ 目录 → 配置不再通过 PHP 文件加载,改由 bootstrap/app.php 内联定义或使用 Laravel 的新配置服务(如 Illuminate\Support\Facades\Config 动态设置)

模型属性转换怎么写?casts() 方法必须用吗?

是的,Laravel 11 要求将 $casts 数组改为 casts() 实例方法,这是强制性变更:

class User extends Model
{
    // ✅ Laravel 11 正确写法
    protected function casts(): array
    {
        return [
            'email_verified_at' => 'datetime',
            'settings' => 'array',
        ];
    }
}

⚠️ 常见错误:仍保留 protected $casts = [...] —— 框架会忽略它,且不报错,导致类型转换失效;旧项目升级时务必全局搜索替换。

CQRS 目录(app/Actionsapp/Queries)是自动生成的吗?

不是。这些目录是 Laravel 11 新增的**推荐约定路径**,但不会自动创建。运行命令时才生成:

  • php artisan make:command CreateUserCommand → 默认输出到 app/Commands/(非 app/Actions/
  • php artisan make:query GetUserQuery → 需要先手动建 app/Queries/,否则报错“Class not found”
  • 若想启用官方 CQRS 推荐结构,得先执行:
    mkdir -p app/{Actions,Commands,Queries}

注意:app/Actions/ 是用于封装无状态业务逻辑(如“发送欢迎邮件”),和 Commands(含队列、事件分发)职责不同,别混用。

最易被忽略的一点:Laravel 11 的“精简”不是删功能,而是把配置权从文件转移到代码入口(bootstrap/app.php)。很多问题其实源于没重写这个文件里的 withMiddlewarewithExceptions 闭包——而不是目录少了就完事了。


# php  # laravel  # bootstrap  # cad  # app  # ai  # 中间件  # 封装  # class  # protected  # 闭包  # 类型转换  # 事件  # http  # 重构  # 报错  # 不存在  # 这是  # 放在  # 这不是  # 少了  # 重写  # 时才  # 自动生成  # 移除 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 齐河建站公司:营销型网站建设与SEO优化双核驱动策略  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  佛山网站制作系统,佛山企业变更地址网上办理步骤?  韩国服务器如何优化跨境访问实现高效连接?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  *服务器网站为何频现安全漏洞?  Bootstrap整体框架之CSS12栅格系统  如何快速登录WAP自助建站平台?  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Laravel如何使用查询构建器?(Query Builder高级用法)  如何在香港免费服务器上快速搭建网站?  如何用搬瓦工VPS快速搭建个人网站?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  英语简历制作免费网站推荐,如何将简历翻译成英文?  高防服务器租用如何选择配置与防御等级?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Android自定义listview布局实现上拉加载下拉刷新功能  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  HTML 中动态设置元素 name 属性的正确语法详解  如何快速辨别茅台真假?关键步骤解析  大型企业网站制作流程,做网站需要注册公司吗?  Java类加载基本过程详细介绍  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  中山网站制作网页,中山新生登记系统登记流程?  千库网官网入口推荐 千库网设计创意平台入口  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  昵图网官网入口 昵图网素材平台官方入口  微信小程序 require机制详解及实例代码  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何在Windows 2008云服务器安全搭建网站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  三星网站视频制作教程下载,三星w23网页如何全屏?  QQ浏览器网页版登录入口 个人中心在线进入  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  iOS发送验证码倒计时应用  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  Python正则表达式进阶教程_复杂匹配与分组替换解析  Linux系统运维自动化项目教程_Ansible批量管理实战