모든 것이 번들이 필요합니까?


11

엔티티 API에 대해 배우고 있습니다. 예를 들어 뷰에서 사용할 수 있도록 "중복 제거"하려는 간단한 추가 테이블이 있습니다.

나는 꽤 많이 읽었고, 몇 개의 비디오를 보았고, 몇 가지 예를 보았습니다. 번들 이라는 개념을 고수하고 있습니다. 번들이 무엇인지 이해합니다 (예 : 노드 유형은 노드 엔티티의 번들입니다).

그러나 내 사용에는 번들이 하나만 있습니다. 예제에서 번들이 데이터베이스 테이블에 저장된 것을 보았습니다. 모든 레코드에 대해 동일한 값이 저장되므로 이것이 필요하지 않습니다. 그래서 나는 어떻게 든 이것을 건너 뛸 수 있거나 내 엔티티가 항상 번들에 대한 표준 문자열을 반환하도록 생각하고있었습니다.

내가 오해 했니? 번들은 항상 데이터베이스 테이블 레벨에서 구현되고 구현되어야합니까?

답변:


9

예, 항상 번들은 엔티티에 필요합니다.

고유 한 번들을 정의하지 않으면 엔티티 시스템이 엔티티 유형과 동일한 이름을 가진 기본 번들을 할당하고 해당 번들이 사용됩니다.

하나의 번들 만 있고 하나의 번들 만 계획하는 경우 엔티티 테이블에 특정 필드가 필요하지 않습니다. 귀하의 질문에서 제안하는 것처럼 항상 동일하므로 중복 될 것이고 db 쿼리에 여분의 오버 헤드 (그러나 작은)를 추가하십시오.

어느 시점에서 엔티티의 다른 하위 유형을 구별해야 할 필요가 있다고 생각한다면, 처음부터 바로 구축하는 것이 좋습니다. 실제로 사용 사례에 따라 다릅니다.


기업이 번들을 가지고있는 경우, 그 것이다 어떻게 것을, 비록 번들 자체가 실체 일 수있다 (?!)
artfulrobot

1
CRUD 기능을 일반 엔티티 유형으로 추상화하고 시스템 전체에서 재사용하여 모든 객체 (엔티티, 번들, 필드 등)를 자체 구현하지 않고도 활용할 수 있다는 아이디어에 대해 이야기하고 있습니다. . Drupal 엔티티 (노드, 사용자 등)의 관점에서 번들은 매우 다릅니다. 번들이 실제로 Drupal 엔티티 인 경우, 번들 자체가 의미가없는 번들을 가질 수 있습니다.
Clive
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.