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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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

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

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

2年前 评论
ta_ta (楼主) 2年前

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

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

需要双斜杠

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

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

2年前 评论
Rache1 2年前
kkokk (作者) 2年前

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

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

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

2年前 评论

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

Laravel

2年前 评论

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