2016-09-06 3 views
1

私は2つのディレクトリの下の特定の名前空間のクラスを探すために作曲家を探す方法を見つけようとしています。私が考えているのはこれです:今作者:複数の場所で名前空間のクラスを探す

Default location: /src/MyModule/myClass.php 
Override location: /config/override/MyModule/myClass.php 

、私はクラスがオーバーライド場所の下に存在するかどうかをチェックするためにオートローダを設定するために作曲を使用したいと思います。存在する場合は、このクラスを使用します。そうでない場合は、クラスをデフォルトの場所からロードします。

これはコンポーザーを使用して可能ですか、それとも自分のオートローダを使ってこのロジックを実装する必要がありますか? Composer documentationから

答えて

2

{ 
    "autoload": { 
     "psr-4": { "Monolog\\": ["src/", "lib/"] } 
    } 
} 

あなたがいることを追加します。あなたが複数のディレクトリで同じプレフィックスを検索する必要がある場合は、あなたが ような配列としてそれらを指定することができます

もちろんあなたのcomposer.jsonファイルに。これをプログラム的に行うには、次のようにします。

$autoloader = require __DIR__.'/../vendor/autoload.php'; 

$autoloader->addPsr4('MyModule\\', [ '/first/dir/MyModule', '/another/dir/MyModule' ]); 
+0

ありがとうございます。 – user13955

関連する問題