2017-12-14 7 views
0

나는 서로 다른 도메인 모델을 가지고 있는데, 각각 다른 하위 모델의 부모입니다. 이러한 도메인 모델은 모두 기본 모델 클래스에서 벗어나 확장되며 현재 모델의 하위 클래스를 처리하는 기본 모델에 일반 함수를 작성하려고합니다. 따라서 주어진 도메인 모델의 모든 하위 모델 클래스를 동적으로 가져 오는 방법을 찾아야합니다. 어떻게 든 완료 될 수 있습니까? 아마도 Object-Storage-Definitions 또는 유사한 것을 통해?!TYPO3 : 특정 부모 도메인 모델의 하위 개체 유형을 확인하는 방법?

업데이트 : 코멘트 섹션에서 언급했듯이 mny 질문은 TYPO3과 아무 관련이 없습니다. 일반적인 PHP 질문이었습니다. 제 질문에 대한 해결책은 반사 수업입니다.

+0

내 질문에 대해 잘 설명하지 않았기 때문에 더 명확하게하려고 노력할 것입니다 : 초기화 된 typo3-domain-model-object의 모든 속성을 object-storage 유형으로 확인하는 것이 가능하며, 관련된 자식 모델 유형 (tablename, classname 등)에 대한 특정 정보를 반환하십시오. – Oliver

답변

1

귀하의 질문은 TYPO3과 아무런 관련이 없으므로 일반적인 PHP 질문 스레드와 가능한 해결책은 here입니다.

+0

실제로 링크를 통해 반사 수업에 대해 읽게되었습니다. 이는 정확히 내가 찾고 있었던 클래스입니다. 감사합니다. – Oliver

1

당신은 데이터베이스 관계에 대해 이야기하고 있습니다. 네, 이것은 TYPO3에서 할 수 있습니다.

modeltable에 매핑되어야합니다. 그래서, 예를 들어 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; 
    } 

상위 카테고리를 반환합니다 부모의 속성을 보자. 같은 논리는 당신이 아이를 갖기를 원할 때입니다.

+0

예, 알고 있습니다. 내 질문 (잘 설명되지 않은 경우 죄송합니다.) 가능한 경우 초기화 된 typo3-domain-model-object의 모든 속성을 객체 저장소 유형으로 확인하고 그렇다면 해당 관련 정보를 반환하십시오. 자식 모델 유형 (tablename, 클래스 이름 등)!? – Oliver

관련 문제