0

Psr/log を必要とする Monolog を使用するプロジェクトで開発しています。Autoload で Monolog を使用すると、Psr\Log\LoggerInterface が見つからないというメッセージが表示されます。そこで、composer が生成した autoload_namespaces.php を調べたところ、登録されている Psr が見つかりませんでした。

これが私の vendor/autoload_namespaces.php の内容です

return array(
'Symfony\\Component\\Process' => $vendorDir . '/symfony/process/',
'Monolog' => $vendorDir . '/monolog/monolog/src/',
'Imagine' => $vendorDir . '/imagine/Imagine/lib/',
'Gedmo' => $vendorDir . '/gedmo/doctrine-extensions/lib/',
'Gaufrette' => $vendorDir . '/knplabs/gaufrette/src/',
'Evenement' => $vendorDir . '/evenement/evenement/src',
'Doctrine\\ORM' => $vendorDir . '/doctrine/orm/lib/',
'Doctrine\\DBAL' => $vendorDir . '/doctrine/dbal/lib/',
'Doctrine\\Common' => $vendorDir . '/doctrine/common/lib/',
'Assetic' => $vendorDir . '/kriswallsmith/assetic/src/',
'Analog' => $vendorDir . '/analog/analog/lib/',
);

composer は、composer.json ファイルで {autoload} が定義されているすべてのプロジェクトの名前空間を登録することになっていますか? (Monolog と Psr/Log の両方を確認しましたが、両方とも {autoload} が定義されています。)

それとも、作曲家について間違った考えを持っていますか?

4

3 に答える 3

0

autoload_namespaces.php の数に実際に混乱しました。私が質問に投稿したものは にありvendor/、次に で別のものをvendor/.composer/見つけ、最終的に で正しいものを見つけましたvendor/composer/

私自身の(愚かな)質問に答えて申し訳ありませんが、他の開発者が同じ問題を抱えている場合に備えて言及する価値があります.

そして、答えてくれた@Chuan Maに感謝します。

于 2013-04-16T18:33:30.453 に答える