关于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这是为什么呢 有没有大佬指教下

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

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

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

你再看看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年前
kkokk (作者) 1年前

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

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

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

1年前 评论

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

Laravel

1年前 评论

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