0

私は Symfony2 プロジェクトを持っており、GuzzleBundleを統合して Web サービス クライアントを構築しようとしています。@guzzleクライアントコマンド(を拡張)の注釈を使用していますGuzzle\Service\Command\AbstractCommand

開発環境では正しく動作しているようですが、prod 環境を使用してページを読み込もうとすると Doctrine が表示されAnnotationExceptionます:

 PHP Fatal error:  Uncaught exception 'Doctrine\Common\Annotations\AnnotationException' with message '[Semantical Error] The annotation "@guzzle" in class Admin\FindAnExpertBundle\Entity\SymplecticClient\Rest\Command\UserById was never imported. Did you maybe forget to add a "use" statement for this annotation?'

Proxyクラスファイルが見つからないというエラーも表示されます。

PHP Warning:  require(/home/httpd/sites/experts.admin/app/cache/prod/doctrine/orm/Proxies/AdminFindAnExpertBundleEntityRelationshipTypeProxy.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in /home/httpd/sites/experts.admin/vendor/doctrine/lib/Doctrine/ORM/Proxy/ProxyFactory.php

これは、致命的なエラーがすべてのプロキシ クラスの作成を停止しているためだと思います。

@guzzleGuzzle は Doctrine アノテーション パーサーを使用していないように見えるので、アノテーションを無視するか、何らかの方法で登録する方法があるかどうか疑問に思っています。

4

2 に答える 2

0

最終的に、Webサービスクライアントに関連するクラスをEntityフォルダーから移動しました。これにより、Doctrineアノテーションパーサーがそれらを読み取ることができなくなりました。振り返ってみると、クラスはとにかくそのフォルダにあるべきではありませんでした。

于 2012-07-30T11:44:13.043 に答える
0

「@guzzle」アノテーションを処理する Guzzle のアノテーション パーサーをインポートする必要があります。

use Guzzle\Service\Inspector as guzzle;

しかし、どのクラスかわかりません。

たぶん、この要点ファイルが役に立ちます。

于 2012-07-19T14:04:58.090 に答える