关于namespace命名空间的问题

psyduck-tool(工程名)
- src
- - Core
- - - A.php(class A)
- - Util
- - - B.php(class B)

composer.json的配置如下
“autoload”: {
“psr-4”: {
“Psyduck\ \“: “src/“
}
},

请问在A.php中命名空间为namespace Psyduck\Core;
在B.php中引用use Psyduck\Core\A,报错Uncaught Error: Class ‘Psyduck\Core\A’ not found这是为什么呢 有没有大佬指教下

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

入口文件引入 autoload.php文件了吗?

require 'vendor/autoload.php';
1周前 评论
讨论数量: 14
mowangjuanzi

你再看看PSR4标准呢。文件名要首字母大写。而且文件名要跟文件内的类名相同

1周前 评论
ta_ta (楼主) 1周前

看着貌似没啥问题, composer dump-autoload 一下看看。

1周前 评论
ta_ta (楼主) 1周前
Rache1 (作者) 1周前
ta_ta (楼主) 1周前
Rache1 (作者) 1周前
ta_ta (楼主) 1周前
"psr-4": {
"Psyduck\": "src/"
}

需要双斜杠

"psr-4": {
"Psyduck\\": "src/"
}

最后注意,引号要英文的哦

1周前 评论
Rache1 1周前
Z_Laravel (作者) 1周前

入口文件引入 autoload.php文件了吗?

require 'vendor/autoload.php';
1周前 评论

执行composer命令生成autoload文件,引入autoload文件

1周前 评论

楼上正解,入口文件加上require 'vendor/autoload.php;就好了。根据入口文件所在的位置,可能需要在路径中加上一些小数点

Laravel

1周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!