TYPO3:如何确定特定父域模型的子对象类型?
TYPO3 : How to determine child-objecttypes of specific parent domain-model?
我有一些不同的领域模型,每个领域模型都是不同子模型的父级。
所有这些域模型都从基本模型 class 中扩展出来,我想在基本模型中编写一个通用函数,处理当前模型的子 classes。因此,我需要找到一种方法,动态获取给定域模型的所有子模型-classes。
这能以某种方式完成吗?也许通过 Object-Storage-Definitions 或类似的 ?!
更新:如评论部分所述,mny 问题与 TYPO3 无关,这是一个一般的 php-问题 .. 我的问题的解决方案是反射-classes。
我猜你的问题与 TYPO3 无关,所以看看这个一般的 PHP 问题线程和可能的解决方案 here。
您在谈论数据库关系。是的,这可以在 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 属性 将 return parent 类别。同样的逻辑是当你想要得到孩子的时候。
我有一些不同的领域模型,每个领域模型都是不同子模型的父级。 所有这些域模型都从基本模型 class 中扩展出来,我想在基本模型中编写一个通用函数,处理当前模型的子 classes。因此,我需要找到一种方法,动态获取给定域模型的所有子模型-classes。 这能以某种方式完成吗?也许通过 Object-Storage-Definitions 或类似的 ?!
更新:如评论部分所述,mny 问题与 TYPO3 无关,这是一个一般的 php-问题 .. 我的问题的解决方案是反射-classes。
我猜你的问题与 TYPO3 无关,所以看看这个一般的 PHP 问题线程和可能的解决方案 here。
您在谈论数据库关系。是的,这可以在 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 属性 将 return parent 类别。同样的逻辑是当你想要得到孩子的时候。