composer ps4类未找到

时间:2015-10-30 19:06:13

标签: php composer-php autoload

我有以下文件结构:

  • 阿容/
    • 项目/
      • 的src /
        • subproject1 /
          • 的index.php
          • composer.json
        • subproject2 /
          • composer.json

在我的composer.json中,我有:

del alist[index]

在subproject1中我有Models / Foo.php,它们看起来像:

"psr-4": {
   "ajon\\project\\subproject1\\": "src/subproject1/",
   "ajon\\project\\subproject2\\": "src/subproject2/"
}

在subproject1 / index.php中我有:

namespace ajon\project\subproject1\Models;

class Foo { ... }

我得到了:

require_once 'vendor/autoload.php';
use ajon\project\subproject1\Models\Foo;
  • 作曲家会在正确的文件夹中查找Class 'ajon\project\subproject1\Models\Foo' not found. ,然后知道从那里查看namespace ajon\project\subproject1吗?

  • 我做错了吗?

  • 有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

我明白了。事实证明,psr-4指令与composer.json文件的位置相关。

我将composer.json设置为:

"psr-4": { "ajon\\project\\subproject1\\": "./" }

它完美无缺。