composer自动加载找不到自定义的类

请问composer如何加载自定义的类啊?我用网上的教程,总是提示找不到类..
下面是我的代码:
composer.json里的自动加载部分:

clipboard.png
下面这个Helper.php助手函数可以找到,但我想自动加载classmap数组中路径下的类,加载不到.

clipboard.png

这个路径也没有错啊..然后我执行composer dump-autoload 也成功了

clipboard.png

请问是哪里出了问题啊?我在index.php入口文件里实例化这个类

clipboard.png

阅读 6.5k
2 个回答

自动加载成功了,还要use 进命名空间才行,单纯use不能代替自动加载的require.加上一句: use app\Library\Util

从报错信息看,你的Hello没有命名空间,会直接根空间下找Hello类,然而你在composer.json中设置的psr-4规则映射了App命名空间指向app目录,所以自动加载时这个类就找不到了,应该在Hello类中增加命名空间,大概是这样:

<?php

// 必须要有命名空间,且命名空间必须与composer中的psr-4的映射保持一致
// ps:不一致也可以,你自己实现一套自动加载的机制,或者用composer的其他规则
namespace App\Library\Util;

class Hello {

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题