作曲家自动加载 - 班级找不到例外



我正在将头发拔出,这并不经常发生。

我试图将作曲家自动加载器与我的目录一起使用。自动加载器与另一个目录完美搭配。

我正在使用以下归档

-Root
 | application
   | Module
      | Users
         | Users.php

users.php包含以下代码

<?php
namespace ModuleUsers;
class Users {
  public function test() { return "Testing hippie-yaay!"; }
}

composer.json包含以下PSR-0自动加载

"psr-0":{"Module\": "application/"}

在autoLoader_namespaces.php中汇编到以下

'Module\' => array($baseDir . '/application'),

又是完全正确的(Ive通过回声来测试了基于基于的application字符串。这是完全正确的。

现在。在我的主班上,我做以下

<?php
namespace SystemCore;
use ModuleUsersUsers;
    class Initiater {
      public function bootSystem() {
        $u = new Users();
      }
    }

(这基本上是我所做的,当然,我在顶部谈论的另一个PSR-0自动加载效果很好,工作正常。)

i然后得到以下错误。

致命错误:

中找不到类'模块用户用户'

fyi:我只尝试使用"use ModuleUsers;""new ModuleUsersUsers();"返回相同的错误。

我希望你们中的一个知道这里发生了什么。此致。乔纳斯

new UsersUsers();

可能是您正在寻找的

我也有同样的问题。我进行了"作曲家更新",并解决了我的问题。由于某种原因,我在autoload_classmap.php

中有一个命名空间不匹配
'Module' => $baseDir . '/application/Module/Users/Users.php',

,它缺少有关关键部分的一些信息:

'Module\Users' => $baseDir . '/application/Module/Users/Users.php',

因此,就像其他提到的一样,这可能是由于一些无效的数据不符合您的代码。

有时您进行修改(例如修复错字),忘了再生自动加载器,一切似乎都不错。

如果有人仍然遇到这个问题:挖掘ClassLoader.phpfindFileWithExtension()后,我发现对我来说,这是一个案例问题,如Sven提到。该类命名为AbcTest,而文件名为ABCTest.php。更一般而言,确保文件名与班级名称,案例和全部匹配;只是情况错误可能更棘手。

相关内容

  • 没有找到相关文章

最新更新