PHP composer autoload 一直报错 class not found

发布于 2022-09-12 12:54:22 字数 1800 浏览 22 评论 0

很久没使用composer了,今天试了一下,结果autoload一直都是报错

Fatal error: Uncaught Error: Class 'helper\Router' not found

文件结构:

Folder PATH listing for volume 新加卷
Volume serial number is 000C-8DEE
F:.
│   cmd.php
│   composer.json
├───helper
│       functions.php
│       Router.php
│
└───vendor
    │   autoload.php
    │
    └───composer
            autoload_classmap.php
            autoload_files.php
            autoload_namespaces.php
            autoload_psr4.php
            autoload_real.php
            autoload_static.php
            ClassLoader.php
            installed.json
            LICENSE

文件cmd.php 源码

<?php
require 'vendor/autoload.php';
$r = new helperRouter();

文件helper/Router.php 源码

<?php
namespace helper;
class Router {
}

文件composer.json 源码

{
  "name": "tool/import",
  "description": "create test data for test",
  "authors": [
    {
      "name": "author",
      "email": "author@gmail.com"
 }
  ],
  "require": {},
  "autoload": {
  }
}

执行 php cmd.php 报错提示如下:

F:\test\demo003>php cmd.php
PHP Fatal error:  Uncaught Error: Class 'helper\Router' not found in F:\test\demo003\cmd.php:5
Stack trace:
#0 {main}
  thrown in F:\test\demo003\cmd.php on line 5

Fatal error: Uncaught Error: Class 'helper\Router' not found in F:\test\demo003\cmd.php:5
Stack trace:
#0 {main}
  thrown in F:\test\demo003\cmd.php on line 5

很多年没试过composer,现在autoload 不起作用了。试过这样写composer.json

"autoload": {
  "psr-4": {
    "\\": "/"
 },    
  "files": [
 ]
}

更新 composer dump-autoload 之后,依旧是提示那个错误。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诺曦 2022-09-19 12:54:22
 "psr-4": {
    "helper\\": "helper/"
 }, 

image.png
image.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文