web-dev-qa-db-ja.com

composerオートローダーpsr-0名前空間

カスタムcomposerパッケージを作成しましたが、正しい自動ロードオプションを設定するのに問題があります。

私のクラスはすべてMyNamespace/Common名前空間の下にあります。たとえば、ArrayHelperクラスを含める場合は、Mynamespace/Common/Helper/ArrayHelperを使用します。

これは私のcomposer.jsonの関連部分です:

"autoload": {
    "psr-0": { "MyNamespace\\": "" }
} 

私はこれを読みました: composer.json/autoload

何か助けはありますか?

12
brpaz

名前空間のファイルの場所をナビゲートする必要があります。

"autoload": {
    "psr-0": { "MyNameSpace": "./<path to your parent directory>" }
}

たとえば、これは私のディレクトリ構造です。

composer.json
source
  \-Data
    |-Controller
    \-Repository

次に、composer.jsonファイルで:

"autoload": {
    "psr-0": { "MyNameSpace": "source/Data" }
}

次に、PHP byによって名前空間を呼び出すことができます

/* namespace for classes in controller directory */
namespace MyNameSpace\Controller
/* namespace for classes in repository directory */
namespace MyNameSpace\Repository
15
KarelG