2012-03-12 6 views
0

私はBisnaとの統合と私自身のカスタム統合の両方を使ってDoctrine 2をZF1と統合しました。Doctrine 2.2自動生成されたプロキシファイルはオートロードできません

モデルはshepp経由の単体テストで正常に動作します。

しかし、私がWebアプリケーションを実行すると、プロキシでエラーが発生します。 User.phpモデルのプロキシは

__GC_User.php
で、正しい場所に配置されています。しかし、自動ローダーが
\_GC__\User.php
を探してからProxyクラスをロードしようとするとエラーが発生します。

どうすればこの問題を解決できますか?

答えて

1

私はDoctrine 2プロキシを扱う他の人を助けるための回答を投稿すると思っていました。私の問題は、Zend_Cacheインスタンスにエンティティを格納していて、エンティティにDoctrine2プロキシが添付されていることでした。

キャッシングを削除したときに問題が解決しました。経験則では、キャッシュにエンティティを格納せず、識別子を格納するだけです

+0

同じ問題に遭遇したため、正確にそのことを説明してください。 プロキシクラスはこのように名前空間になっています: \ namespace \ set \ by \ setProxyNamespace \ __ CG __ \ the \ entity \ namespace 私が設定した名前空間だけを使用することを期待していました。これは__CG__より前の名前空間です。ああ、生成されたファイルは、\ _ \ _ CG \ _ \ _エンティティクラスの名前空間を持っています。 ありがとうございます。 – Pinetree

+0

Doctrine2で使用されているProxyクラスを直接使用することはありませんので、気にする必要はありません。プロキシを処理することができないので、キャッシュまたはオブジェクトストレージにエンティティを格納するシリアル化/直列化解除を避けるだけです –

関連する問題