2016-09-18 8 views
0

Composerが必要としているパッケージを自動読み込みしないと理解できません。Autoload Composerがインストールされているパッケージ

私の現在のcomposer.jsonファイルには、次があります。

{ 
    "require": { 
     "atlas/orm": "@dev" 
    }, 
    "require-dev": { 
     "atlas/cli": "@dev" 
    } 
} 

/vendor/composer/autoload_namespaces.phpファイル内の名前空間を生成することになりました。しかし、それはしません。ファイルには、次があります:私が使用しようとすると、当然のことながら

// autoload_namespaces.php @generated by Composer 

$vendorDir = dirname(dirname(__FILE__)); 
$baseDir = dirname($vendorDir); 

return array(
    'Psr\\Log\\' => array($vendorDir . '/psr/log'), 
); 

「必要DIR 『を/vendor/autoload.phpを』;」パッケージを自動読み込みしてクラスを使用すると、動作しません。 これをどのように解決できますか?

+0

を実行するには、あなたが自動ローダーを生成するために、「作曲インストール」または「作曲更新」コマンド発行していますか? – vascowhite

+0

@vascowhite、はい私は作曲家インストールコマンドを発行しました。それはautoloadファイルを生成しましたが、例えばautoload_namespaces.phpファイルは上記の情報のみを持っています。 –

答えて

1

インストールされているすべての依存関係を必要とするためには、 'autoload.php'が必要です。オートローディング(PSR-4)の場合、composer.jsonファイルでは、すべてが名前空間になる名前と、ファイルが自動ロードされるフォルダ名を指定する必要があります。

"Namespace_name\\":"folder_name" 

注:namespace_name後のバックスラッシュは、それゆえ、余分なバックスラッシュをエスケープする必要があります。

その後composer dump-autoload -o

関連する問題