项目的平台管理需要上传平台图片,所以网上找了个图片类,本地测试了一下OK,没问题,但实际加入到Laravel内运行报错class not found。
百度一圈,网上解决办法很多,总体来讲是自动加载问题,经深圳网站建设技术大佬指导后再多番捣鼓之后终于成功,能够成功加载。
不知道是什么原因,git bash 的自动加载命令composer dump-autoload居然无效,在此情况下要注意几个问题,有遇到相同问题未解决的可尝试此办法:
- 命名空间+控制器USE
可能部分人像我一样,从网上直接整个类就拿来使用,却忘了设置命名空间,所以新添加类最好设置好命名空间
同时在控制器使用时要USE一下这个外部类
namespace App\Org\upload;
- 检查文件:composer.json,里面autoload的classmap路径添加上外部类路径
,也有大神说,到这里就可以使用composer dump-autoload了,亲测也可以.
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories",
"app/org/code", //第三方类
"app/org/upload" //第三方类
]
},
- 检查文件:vender/composer/autoload_classmap.php ,里面添加类路径
'App\\Org\\code\\Code' => $baseDir . '/app/org/code/Code.class.php', //第三方类
'App\\Org\\upload\\Upload' => $baseDir . '/app/org/upload/Upload.class.php', //第三方类
- 检查文件:vender/composer/autoload_static.php,里面是否有对应路径
'App\\Org\\code\\Code' => __DIR__ . '/../..' . '/app/org/code/Code.class.php', //第三方类
'App\\Org\\upload\\Upload' => __DIR__ . '/../..' . '/app/org/upload/Upload.class.php', //第三方类
如上4点确认OK之后,在new一下就可以啦,仅供参考啊,每个人遇到情况不一样,在多番折腾无效情况下,不妨一试,但不对结果负责,哈哈。