2013-07-28 12 views
7

私はいくつかのクラスをオートロードする必要があります。私はpsr-0名前空間の狂気が気に入らない(違反しません)。再インストールせずにComposerで名前空間を持たないクラスを自動読み込みするにはどうすればいいですか?

これは私のプロジェクトでうまく動作するために使用:

"psr-0": { 
    "": [ 
     "app/controller/", 
     "app/model/" 
    ] 
} 

をそれはもう動作しません何らかの理由で、私は同じ作曲のバージョンを使用していていても。私はSilexも使っている新しいプロジェクトに必要です。これはシレックスとの葛藤ですか?

私は "classmap"オプションについて知っていますが、新しいクラスを追加するたびに "composer install"を実行する必要があるため、無用です。

アイデア?

答えて

1

自動ロードファイルを再生成する場合は、composer dump-autoloadを使用してください。

6

配列(例のような)ではなく、「プリミティブ」JSONプロパティを使用してみてください。あなたが言うように これは"": "app/"で、psr-4で私の作品:

{ 
"autoload": { 
    "psr-4": { 
     "Robbie\\": "core/", 
     "": "app/" 
    } 
}, 
"require": { 
     "monolog/monolog": "1.2.*" 
    } 
} 

これは作曲によって制御されない情報源の一例として、私は、サードパーティ(ベンダー)モノローグの名前空間をディレクトリcore下のロビーの名前空間を提供しますappディレクトリ下のソースのデフォルトまたは非ネームスペースです。生成されたautoload.phpを含むときcopmpser updateした後、それらのすべてが利用可能です

<?php  
require_once 'vendor/autoload.php'; 
// ...  
?> 
+0

を '「」:「アプリ/」' – Toskan

+0

を動作しません、私は作曲のファイルに名前を与えるの組み合わせを考えます実行中のコンポーザーをインストールするコンポーザーをアップデートするコンポーザーをインストールするコンポーザーをアップデートする – Toskan

関連する問題