2015-10-30 107 views
2

我有以下文件结构:作曲家PS4类

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

在我composer.json我:

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

在subproject1我有型号/ Foo.php它看起来像:

namespace ajon\project\subproject1\Models; 

class Foo { ... } 

subproject1内/ index.php的,我有:

require_once 'vendor/autoload.php'; 
use ajon\project\subproject1\Models\Foo; 

我越来越:

Class 'ajon\project\subproject1\Models\Foo' not found. 
  • 作曲家是否会在正确的文件夹中查找namespace ajon\project\subproject1,然后知道从那里查看Models\Foo

  • 我做错了什么?

  • 有没有更好的方法来做到这一点?

回答

1

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

我设置composer.json这样:

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

它完美地工作。

+0

太棒了!你能否也请将你的答案标记为解决方案?所以很明显它已经成功解决了。谢谢 –

+0

我会的,但它不会让我再等待38个小时。 – ajon

+0

哦,很高兴知道:)。感谢您的解释。 –