在composer中加载src包

时间:2016-12-11 19:38:39

标签: php composer-php

所以我有一个我正在开发的作曲家包,我想要对包进行单元测试,而不是创建一个新的作曲家包来实际进行单元测试。有没有办法加载autoload_classmap.php中的文件,以便可以访问它们而无需创建新的包并将其包含在那里然后进行测试?

当我只有一个包时,src文件夹中的文件没有加载到路径供应商/作曲家的autoload_classmap.php中

这里奇怪的是,当我将包包含在另一个repo中时,它会将所有文件正确加载到autoload_classmap.php文件中。

autoload_psr4包看起来像这样:

' Nyranith \' =>数组($ baseDir。' / src')

但是autoload_classmap.php中的$ basedir仍然没有文件。

关于课程是这样的:

class MyClass1 {
    var id: Int
    init(id:Int) { self.id = id }
}

class MyClass2 {
    var id2: Int
    init(id2:Int) { self.id2 = id2 }
}
let array1 = [MyClass1(id:4), MyClass1(id:3), MyClass1(id:2), MyClass1(id:1)]
let array2 = [MyClass2(id2:1), MyClass2(id2:2), MyClass2(id2:3), MyClass2(id2:4)]
let tuples = zip(array1, array2)

let sortedTuples = tuples.sorted{ $0.1.id2 > $1.1.id2 }

print(sortedTuples)

此文件的路径为:src / Models / CompositPrimaryKey.php

composer.json中的自动加载看起来像这样:

namespace Nyranith\Models;


trait CompositPrimaryKey
{

1 个答案:

答案 0 :(得分:0)

对于psr4,composer只使用autoload_psr4.php中侦听的路径从指定文件夹加载所有文件。所以没有必要在autoload_classmap.php

中拥有这些类

如果您已经为psr4文件配置了composer.json,那么只需在应用程序的前端控制器中包含vendor / autoload.php(通常是index.php)