イムとアーキテクチャ....Zend Frameworkの、教義
最初の質問:
私はDoctrineエンティティマネージャを私のコントローラ(DI付き)にロードするファクトリを設定したことを知っています。
私のエンティティを私のコントローラに入れるのは本当に簡単です...例えばProject ControllerのcreateActionのように私のエンティティを自分のプロジェクトフォームに表示させるのは簡単です(プロジェクト< - >ユーザ多対多)。
私は苦労していることを知っていますが、リポジトリクラスを作成し、これをdoctrineエンティティマネージャの代わりにコントローラに注入する方がよいでしょう。
2番目の質問:
私は(ユーザーによって)私のプロジェクトをフィルタリングする は私がこれを行う必要があります...私は私のエンティティのすべてをコレクションクラスを作成し、それらを注入しシンプルなスリムプロジェクトでとその後、私はコレクション内でフィルタメソッドを呼び出しました...しかし、問題があります。私はデータベースからコレクションにすべてのエンティティをロードしました。より大きなアプリケーションでは、データベースからロードされた多くのエンティティがあると思いますか?
3番目の質問(結論):
私は最高の、ここで練習をいただきました!私のコントローラにDBからデータをロードしたい場合は?
エンティティマネージャからロードしますか?
リポジトリから読み込みます(リポジトリはエンティティマネージャから読み込みます)。
コレクションからロードします(コレクションはリポジトリクラスからデータを読み込み、リポジトリはエンティティマネージャからデータを読み込みます)。
私はページネーションについては考えていませんでした。それは私が次にしなければならないことです。しかし、私の他の質問によく似た質問があります。この質問になど
...これはあなたに少しのに役立ちます願っています!はい、それはプロジェクトで私のworiking中に来る別の質問です。 symfony(fosユーザバンドル)では、コントローラで何かlikt $ this-> user()を実行できます...現在のユーザをActionControllerスコープにアタッチする方法は?-) –