繁体   English   中英

TYPO3:如何确定特定父域模型的子对象类型?

[英]TYPO3 : How to determine child-objecttypes of specific parent domain-model?

我有一些不同的域模型,每个域模型都是不同子模型的父模型。 所有这些域模型都从基本模型类中扩展出来,我想在基本模型中编写一个通用函数,该函数处理当前模型的子类。 因此,我需要找到一种方法来动态获取给定域模型的所有子模型类。 能以某种方式做到这一点吗? 也许通过对象存储定义或类似的?

更新:如评论部分所述,mny问题与TYPO3无关,这是一个通用的php问题..我的问题的解决方案是反射类。

我想您的问题与TYPO3无关,因此请在此处查看这个一般的PHP问题线程和可能的解决方案。

您正在谈论数据库关系。 是的,这可以在TYPO3中完成。

每个model都应映射到一个table 因此,让我们以“ Category域模型和parent属性为例

class Category extends AbstractEntity
{
    /**
     * @var \TYPO3\CMS\Extbase\Domain\Model\Category
     */
    protected $parent = null;

    /**
     * @return \TYPO3\CMS\Extbase\Domain\Model\Category 
     */
    public function getParent()
    {
      if ($this->parent instanceof \TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy) {
          $this->parent->_loadRealInstance();
      }
      return $this->parent;
  }

  /**
   * @param \TYPO3\CMS\Extbase\Domain\Model\Category $parent
   */
  public function setParent(\TYPO3\CMS\Extbase\Domain\Model\Category $parent)
  {
      $this->parent = $parent;
  }

parent属性将返回父类别。 同样的逻辑是当您想让孩子在一起时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM