Czy wszystko potrzebuje pakietu?

11

Uczę się o API Entity. Mam prostą dodatkową tabelę, którą chciałbym „upiększyć”, aby na przykład użyć jej w widokach.

Przeczytałem sporo, obejrzałem kilka filmów, spojrzałem na kilka przykładów. Utknąłem na koncepcji pakietów . Rozumiem, jakie są pakiety (np. Typy węzłów są pakietami jednostki węzła).

Ale do mojego użytku będzie tylko jeden pakiet. W przykładach, które widziałem, pakiet jest przechowywany w tabeli bazy danych; nie jest to dla mnie konieczne, ponieważ byłaby taka sama wartość przechowywana dla każdego rekordu. Pomyślałem więc, że mogę to jakoś pominąć lub sprawić, by moja istota zawsze zwracała standardowy ciąg znaków dla pakietu.

Czy źle zrozumiałem? Czy pakiety zawsze muszą być implementowane i wdrażane na poziomie tabeli bazy danych?

artfulrobot
źródło

Odpowiedzi:

9

Tak, pakiet jest zawsze, zawsze niezbędny dla podmiotów.

Jeśli nie zdefiniujesz własnego pakietu (pakietów), system encji przypisze ci domyślną nazwę o takiej samej nazwie jak typ encji i ta zostanie użyta.

Jeśli masz tylko jeden pakiet i kiedykolwiek planujesz mieć tylko jeden pakiet, nie musisz mieć dla niego określonego pola w tabeli encji. Jak sugerujesz w swoim pytaniu, zawsze będzie tak samo, więc będzie zbędne i po prostu doda dodatkowe obciążenie (choć niewielkie) do twoich zapytań db.

Jeśli jednak uważasz, że w pewnym momencie może zaistnieć potrzeba rozróżnienia różnych podtypów bytu, warto je od samego początku zbudować; to naprawdę zależy od twojego przypadku użycia.

Clive
źródło
Chociaż, jeśli byt musi mieć pakiet, to w jaki sposób sam pakiet może być bytem (?!)
artfulrobot 21.09.12
1
Jestem prawie pewien, że chodzi tylko o pomysł abstrakcji funkcjonalności CRUD na ogólny typ encji i ponownego użycia jej w całym systemie, aby wszystkie obiekty (encje, pakiety, pola itp.) Mogły skorzystać bez konieczności implementowania własnych . Jeśli chodzi o byt Drupala (węzeł, użytkownik itp.), Pakiet jest czymś zupełnie innym. Jeśli pakiet rzeczywiście był bytem Drupala, mógłby sam mieć pakiety, co nie ma sensu :)
Clive