1

我希望 Composer 加载我的 PHP 类。根据命名空间,当我遵循目录结构时它可以工作。

例如,我的类\MyCompany\MyProject\Class1在位于src/MyCompany/MyProject/Class1.php. 我使用这个作曲家设置:

"autoload": {
    "psr-0": { "MyCompany\\MyProject\\": "src/" }
}

但是,我不想将所有文件都放到 MyCompany 目录中,因为它是 src 中唯一的一个。我知道 Java 会这样做,但仍然如此。有什么方法可以设置 Composer,以便当我的类直接在 src 中时它会加载它们?例如从文件src/Class1.php.

编辑:PSR-4 直接解决了这个问题,尽管类映射仍然有效(建议用于生产设置)。

4

2 回答 2

4

那这个呢?

"autoload": {
    "classmap": [
        "src"
    ]
}
于 2013-07-17T10:39:26.317 回答
1

另一种方法是使用 PSR-4,特别是如果你有多个类,即

"autoload": {
    "psr-4": { "MyCompany\\MyProject\\": "src/" }
}

这应该把你放在你想去的地方。但是,根据我自己的经验,这可能需要一些修补,直到你做对为止。在此处查看更多信息:http: //seld.be/notes/psr-4-autoloading-support-in-composer

于 2014-03-19T13:38:26.027 回答