【问题标题】:TYPO3 : How to determine child-objecttypes of specific parent domain-model?TYPO3:如何确定特定父域模型的子对象类型?
【发布时间】:2017-12-14 15:35:40
【问题描述】:

我有一些不同的领域模型,每个都是不同子模型的父级。 所有这些领域模型都从基本模型类中扩展出来,我想在基本模型中编写一个通用函数,处理当前模型的子类。因此,我需要找到一种方法,动态获取给定域模型的所有子模型类。 这可以以某种方式完成吗?也许通过 Object-Storage-Definitions 或类似的方式?!

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

【问题讨论】:

  • 由于我的问题没有很好地描述,我会尽量让它更清楚:是否有可能检查初始化的typo3-domain-model-object的所有属性,如果它们是对象存储类型如果是,则返回有关该相关子模型类型(表名、类名等)的特定信息

标签: class typo3 children domain-model


【解决方案1】:

我猜你的问题与 TYPO3 无关,所以看看这个通用的 PHP 问题线程和可能的解决方案here

【讨论】:

  • 确实,您的链接让我了解了反射类,这正是我所寻找的。谢谢
【解决方案2】:

您在谈论数据库关系。是的,这可以在 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;
  }

父属性将返回父类别。同样的逻辑是当你想要得到孩子的时候。

【讨论】:

  • 是的,我知道这一点。我的问题(抱歉,如果描述得不好)是,如果可能,检查初始化的typo3-domain-model-object 的所有属性,如果它们是对象存储类型,如果是,返回有关该相关的特定信息子模型类型(表名、类名等)!?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
  • 2011-01-14
  • 2011-08-17
  • 1970-01-01
相关资源
最近更新 更多