마 젠토 2.1 : 엔티티 관리자 사용


27

2.1부터 Magento가 소개했습니다Magento/Framework/Model/EntityManager

여기에 잘못되었을 수도 있지만 이해 Magento/Framework/Model/AbstractModel를 통해 상속을 통해 기능을 구현하고 대체 하여 구성을 통해이를 해결하는 것입니다 (FYI : https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

코어 파일에서 예제를 얻을 수 있습니다 : https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

기본적으로 모든 CRUD 작업은 클래스에서 명시 적으로 선언되어 클래스로 연기됩니다 EntityManager. 2.1 이전에는 상속을 통해 상위 메소드가 호출되었습니다.

그래서 내 질문은 :

  • EntityManager2.1 이전의 상속 시스템에 비해 어떤 이점이 있습니까?
  • 되어 단순히 충분한 (위의 예와 같이)를 CRUD 메소드를 선언하는 것은 사용자 정의 CRUD 모듈에서 구현 시작 이상 존재 하는가?

1
대답은 아니지만 EntityManager를 사용하면 얻을 수있는 이점 중 하나는 리포지토리 유형 시스템을 주입 할 수 있다는 것입니다. 엔터티를 이미 가져온 경우 DB에 부딪히지 않고 메모리 내에서로드가 발생할 수 있습니다. 메모리 등
Navarr

답변:


16

현재 완료되지 않은 기능이므로 엔터티에 EntityManager를 사용하지 않는 것이 좋으며 구성을보다 선언적으로 만들 계획입니다.

EntityManager의 아이디어는 다음과 같습니다.

  • 인터페이스에 의해 데이터 엔티티 유지 허용 (추상 클래스에서 확장 할 필요 없음)
  • 지속적인 명시 적 확장 가능
  • 모듈성

당신이 그것을 사용하지 않는 이유를 귀하의 답변에 추가 할 수 있습니까? (미완성 기능, 버그, 기타?)
디지털 피아니즘의 Raphael

1
그렇습니다. 미완성 된 선물, 우리는 구성을보다 선언적으로 만들 계획입니다
KAndy

4
Moar XMLs, MOAR! :)
nevvermind

그들이이 미완성 된 선물을 완료 할 것으로 예상되는 날짜가 무엇인지 알 수 있습니까?
Toan Nguyen

3
Magento 백로 그는 커뮤니티 및 파트너 피드백에 의해 직접 영향을 받기 때문에 모든 작업의 ​​우선 순위를 정하고 우선 순위를 지정할 수 있으며, 완료 및 게시 전에 구체적인 작업이 완료 될시기를 아무도 모릅니다.
KAndy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.