在域模型中获取对象相关对象

时间:2012-04-24 14:33:14

标签: php oop dns doctrine-orm

如何处理获取一个对象的相关对象? 例如,对象项目有一些标记。我应该如何以及何时获取这些对象?在mapper中的用户初始化?这将是一个很大的过载。最好的方法是在系统询问用户标签时动态加载它们,但如果模型对mapper一无所知怎么做呢?或者只是使用Doctrine而忘记了所有这些问题?

我问这与PHP Zend Framework有关。但是,对于这个问题,任何技术都足够了。

1 个答案:

答案 0 :(得分:2)

很难回答您的问题,因为您没有提到特定的ORM或框架。如果您正在寻找建议,我建议您使用Doctrine作为模型API,将Zend Framework用作独立库。

如果您需要功能齐全的框架,可以查看其中任何一个:

  1. Symfony2
  2. CakePHP
  3. Zend Framework(作为框架与独立的lib)
  4. CodeIgniter
  5. 如果您选择使用Doctrine作为您的ORM,您可以设置模式文件以确保对象具有关系感知,然后您可以进行如下参考:

    // 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)确实采用延迟加载模式,只在请求时查询对象。