composer 提示 "Class ... located in ... does not comply with psr-4..." 怎么办?


Class位于...不遵守psr-4规范,因命名空间与文件路径不匹配。例如composer.json配置"App\": "app/"时,类AppModelsPost必须位于app/Models/Post.php。若目录写成Model而非Models则报错。PSR-4大小写敏感,文件名如UserController.php不可小写。修改后需运行composer dump-autoload更新自动加载映射。同时检查composer.json中psr-4配置是否正确,如反斜杠数量和路径拼写。确保命名空间、文件路径、文件名三者一致即可解决。

composer 提示

这个提示是因为 Composer 的 PSR-4 自动加载规范要求类文件的命名和目录结构必须严格匹配命名空间。出现 "Class ... located in ... does not comply with psr-4..." 错误,说明某个类的实际路径与它的命名空间不一致。

检查命名空间是否正确

确保类文件中的命名空间和它在项目中的实际目录结构完全对应。例如:

假设你的 composer.json 中配置了:
"autoload": {
    "psr-4": {
        "App\": "app/"
    }
}

那么:

  • AppUser 必须位于 app/User.php
  • AppModelsPost 必须位于 app/Models/Post.php

如果 Post 类写的是 namespace AppModels;,但文件放在了 app/Model/Post.php(注意是 Model 而不是 Models),就会报错。

确认文件后缀和大小写

PSR-4 对大小写敏感,尤其是在 Linux 系统或 Docker 环境中:

  • 类名 UserController 对应文件名必须是 UserController.php,不能是 usercontroller.php
  • 目录名也要匹配命名空间,比如 Controllers 不能写成 controllers

重新生成自动加载映射

修改完命名空间或文件位置后,运行以下命令刷新自动加载文件:

AVCLabs *CLabs

AI移除视频背景,100%自动和免费

AVCLabs 337 查看详情 AVCLabs
composer dump-autoload

或者加上优化参数:

composer dump-autoload -o

这会重新解析 psr-4 配置并生成新的类映射。

验证 composer.json 配置

检查 composer.json 中的 autoload.psr-4 是否正确。常见错误包括:

  • 缺少反斜杠结尾:应写为 "App\": "app/",而不是 "App": "app/"
  • 路径拼写错误,如 appp/src 写成 source

基本上就这些。只要命名空间、文件路径、文件名三者一致,并且配置正确,问题就能解决。不复杂但容易忽略细节。

以上就是composer 提示 "Class ... located in ... does not comply with psr-4..." 怎么办?的详细内容,更多请关注php中文网其它相关文章!


# linux  # 武汉知名营销推广商家  # 内黄县seo策划  # 上海网站建设开题报告  # 宿州网站长尾关键词优化  # 拼多多营销推广建议  # 汕头濠江区企业网站建设  # 做矩阵还是做seo  # 就会  # 而不是  # 的是  # 端到  # 配置文件  # 如何解决  # 尼克  # 报错  # 是否正确  # 自动加载  # app  # composer  # docker  # json  # js  # php  # 郑州营销型网站建设排行  # 推广营销实践课程心得  # 旅游抖音营销推广方案 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: Lar*el如何创建自定义的辅助函数(Helpers)_Lar*el全局函数定义与加载方法  Win10锁屏时间怎么设置 Win10调整自动锁屏时间方法  Python自动化抓取GBGB赛狗比赛结果:日期范围与赛道筛选教程  iPhone17Pro如何连接蓝牙耳机_iPhone17Pro蓝牙设备配对与连接方法介绍  在XML中嵌入二进制数据(如图片)的最佳实践是什么? Base64编码与解析注意事项  CodeIgniter 3 连接 SQL Server:正确获取查询结果的教程  胃动力不足?试试这5个调理方法  火柴人战争网页版在线玩  教育查询官方网站入口 教育个人档案查询免费官网  PHP中动态类名访问的类实例类型提示与静态分析实践  C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏  学习通网页版课程打不开_课程无法访问时的解决方法  realme 10 Pro息屏方案_realme 10 Pro省电策略  实时数据流中高效查找最小值与最大值  稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口  TikTok视频播放中断怎么办 TikTok播放异常修复方法  Windows 11怎么删除恢复分区_Windows 11使用Diskpart命令强行删除分区  AngularJS动态内容中DOM元素查找的时序问题及$timeout解决方案  Go语言中方法与接收器:指针和值类型的调用机制详解  学习通网页版个人登录_学习通网页版个人账户登录入口  顺丰快递单号查询寄件人 顺丰寄件人查询入口  微信如何设置字体大小_微信字体设置的阅读舒适  使用TinyButStrong生成HTML并结合Dompdf创建PDF教程  2025SNH48年度青春盛典门票价格及购买方式  《合金装备4》有望推出重制版!制作人发话了  C#中的Record类型有什么优势?C# 9新特性Record与Class的用法区别  sublime text 4如何安装_最新版sublime下载与汉化教程  mysql中如何配置字符集和排序规则_mysql字符集排序配置  英国搜索:多数英国人认为语言搜索是未来搜索  Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置  《飞猪旅行》购买汽车票方法  漫蛙官网(首页入口)_漫蛙漫画稳定访问教程分享  如何在mysql中使用索引提示_mysql索引提示优化方法  Word 2003字体大小设置方法  谷歌浏览器官网地址整理_谷歌浏览器新版直连2026稳定访问  b站怎么设置动态仅粉丝可见_b站动态粉丝可见设置方法  《磁力猫》最好用的磁官网  谷歌浏览器如何查找和删除恶意软件 谷歌浏览器内置安全清理工具使用教程  疯狂小鸟微信小游戏入口 疯狂小鸟网页版秒玩  优化 WooCommerce 产品价格显示与自定义短代码集成  PHP魔术方法__set与__isset:设计考量、性能权衡与静态分析的视角  lol小红书怎么|直播|?lol小红书|直播|是什么意思?  Python实战:高效处理实时数据流中的最小/最大值  智慧团建活动报名入口 智慧团建活动报名入口手机端官网​  CSS如何控制元素外边距_margin实现布局间隔  C++中std::thread和std::async的区别_C++并发编程与线程与异步任务比较  圆通快递官网入口查询单号 手机版官方查询入口  《伊瑟》凶影追缉库卢鲁boss攻略  《杖剑传说》食谱大全  抖音作品被限流怎么办 抖音内容优化与流量恢复方法 

 2025-12-05

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.