1

1つのオブジェクトの関連オブジェクトのフェッチをどのように処理しますか?たとえば、オブジェクトプロジェクトにはいくつかのタグがあります。それらのオブジェクトをいつどのようにフェッチする必要がありますか?マッパーでのユーザー初期化では?それは大きな過負荷になります。最善の方法は、システムがユーザーにタグを要求するときに動的にそれらをロードすることですが、モデルがマッパーについて何も知らない場合、それを行うにはどうすればよいですか?または、Doctrineを使用して、これらの問題をすべて忘れましたか?

PHPZendFrameworkに関連してこれを尋ねています。しかし、この問題については、どのような技術でも十分だと思います。

4

1 に答える 1

2

特定のORMまたはフレームワークを参照していないため、質問に答えるのは困難です。提案を探している場合は、モデルAPIとしてDoctrineを使用し、スタンドアロンライブラリとしてZendFrameworkを使用することをお勧めします。

フル機能のフレームワークが必要な場合は、次のいずれかを確認できます。

  1. Symfony2
  2. CakePHP
  3. Zend Framework(フレームワークとスタンドアロンライブラリとして)
  4. CodeIgniter

ORMとしてDoctrineを使用することを選択した場合は、スキーマファイルを設定して、オブジェクトが関係を認識していることを確認してから、次のような参照を作成できます。

// Joins tags table by way of intermediary object_tag table providing
//  a M:1, 1:M relationship
$tags = $object->getTags();

Doctrine(1.2は2.xについてはよくわかりません)は遅延読み込みパターンを採用しており、オブジェクトは要求された場合にのみクエリされます。

于 2012-04-24T20:13:53.847 に答える