2012-04-24 5 views
1

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

PHP Zend Frameworkとの関係でこれを聞いています。しかし、どんな技術でも問題はないと思う。

答えて

2

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

あなたは、フル機能のフレームワークを必要とする場合は、これらのいずれかを見てとることができます。

  1. Symfony2
  2. CakePHP
  3. Zend Framework
  4. CodeIgniter(スタンドアロンのlib VSフレームワークなど)

DoctrineあなたのORMとしては、セットアップスキーマファイルは、オブジェクトが、あなたのような参照を作ることができ、関係を認識していることを確認することができます(2.xのわからない1.2)

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

教義を、遅延ロードパターンを採用しない場所オブジェクトは要求されたときにのみ照会されます。

+0

ありがとうございます、私は今Doctrineを実行しています。私たち自身でマッパーを書くことは、過度のことです。マッパーを単独で開発できると言っているチュートリアルをすべて聞いてはいけません。それはあなたを困ってしまうでしょう:-) –

+1

合意。安定した、十分に文書化された第三者APIを使用してホイールの再発明を避けることができれば、それを手に入れてください。その$$の作成に集中する時間を無駄にします。 –

関連する問題