1

PHP クラスを Composer でロードしたい。名前空間に従って、ディレクトリ構造に従うと機能します。

たとえば、私のクラス\MyCompany\MyProject\Class1は にあるときにロードされsrc/MyCompany/MyProject/Class1.phpます。私はこの作曲家設定を使用します:

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

ただし、src にあるのは MyCompany ディレクトリだけなので、すべてのファイルを MyCompany ディレクトリに配置したくありません。Java がこのように動作することは知っていますが、それでもなおです。Composer を設定して、クラスが直接 src にあるときにクラスをロードする方法はありますか? たとえば、ファイルからsrc/Class1.php

編集: PSR-4 はこの問題に直接対処しますが、classmap は引き続き機能します (本番セットアップには推奨されます)。

4

2 に答える 2

4

これはどうですか?

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

もう 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 に答える