Braucht alles ein Bundle?

11

Ich lerne etwas über die Entity-API. Ich habe eine einfache zusätzliche Tabelle, die ich "drupalisieren" möchte, damit ich sie beispielsweise in Ansichten verwenden kann.

Ich habe ziemlich viel gelesen, ein paar Videos gesehen und mir einige Beispiele angesehen. Ich bin beim Konzept der Bündel festgefahren . Ich verstehe, was Bundles sind (z. B. Knotentypen sind Bundles der Knotenentität).

Aber für meinen Gebrauch wird es immer nur ein Bündel geben. In den Beispielen, die ich gesehen habe, ist das Bundle in der Datenbanktabelle gespeichert. Dies ist für mich nicht erforderlich, da für jeden Datensatz derselbe Wert gespeichert wird. Also dachte ich, ich könnte das irgendwie überspringen oder meine Entität immer eine Standardzeichenfolge für das Bundle zurückgeben lassen.

Habe ich falsch verstanden? Müssen Bundles immer implementiert und auf Datenbanktabellenebene implementiert werden?

Kunstroboter
quelle

Antworten:

9

Ja, für Entitäten ist immer ein Bundle erforderlich.

Wenn Sie keine eigenen Bundles definieren, weist das Entitätssystem ein Standardpaket mit demselben Namen wie der Entitätstyp für Sie zu, und dieses wird verwendet.

Wenn Sie nur ein Bundle haben und immer nur ein Bundle planen, müssen Sie dafür kein bestimmtes Feld in Ihrer Entitätstabelle haben. Wie Sie in Ihrer Frage vorschlagen, wäre es immer dasselbe, wäre also redundant und würde Ihren Datenbankabfragen nur zusätzlichen Aufwand (wie winzig auch immer) hinzufügen.

Wenn Sie der Meinung sind, dass Sie möglicherweise irgendwann zwischen verschiedenen Untertypen Ihrer Entität unterscheiden müssen, lohnt es sich, dies von Anfang an einzubauen. es hängt wirklich von Ihrem Anwendungsfall ab.

Clive
quelle
Wenn eine Entität ein Bündel haben muss, wie kommt es dann, dass das Bündel selbst eine Entität sein kann (?!)
artfulrobot
1
Ich bin mir ziemlich sicher, dass es hier nur um die Idee geht, die CRUD-Funktionalität auf einen generischen Entitätstyp zu abstrahieren und diese im gesamten System wiederzuverwenden, damit alle Objekte (Entitäten, Bundles, Felder usw.) die Vorteile nutzen können, ohne ihre eigenen implementieren zu müssen . In Bezug auf eine Drupal-Entität (Knoten, Benutzer usw.) ist ein Bundle eine ganz andere Sache. Wenn ein Bundle tatsächlich eine Drupal-Entität wäre, könnte es selbst Bundles haben, was keinen Sinn ergibt :)
Clive