I engelskan förklaras en "entity" som någonting konkret eller abstrakt som finns, har funnits eller kan finnas; exempelvis en person, en sak, en händelse, en process eller en idé. "Objekt och funktioner" är en översättning som brukar användas i svenskan.
En entitet beskriver alltså oftast en sak, händelse eller process precis som utdragen från Wikipedia-artikeln nämner.
En entitet i kod beskrivs oftast med hjälp av en klass där namnet på klassen är namnet på saken, händelsen eller processen vi vill beskriva.
(Content Entity)
Används till dynamisk data som oftast skapas av någon typ av användare.
Exempel på innehålls-entiteter i Drupal 8
(Config Entity)
Används till "statisk" data som ska sparas som konfiguration. Kan exporteras som .yml filer som sedan kan importeras i andra miljöer t.ex. production.
Exempel på konfigurations-entiteter i Drupal 8
/**
* Defines the Example entity.
*
* @ConfigEntityType(
* id = "example",
* label = @Translation("Example"),
* handlers = {
* "list_builder" = "Drupal\example\Controller\ExampleListBuilder",
* "form" = {
* "add" = "Drupal\example\Form\ExampleForm",
* "edit" = "Drupal\example\Form\ExampleForm",
* "delete" = "Drupal\example\Form\ExampleDeleteForm",
* }
* },
* config_prefix = "example",
* admin_permission = "administer site configuration",
* entity_keys = {
* "id" = "id",
* "label" = "label",
* },
* links = {
* "edit-form" = "/admin/config/system/example/{example}",
* "delete-form" = "/admin/config/system/example/{example}/delete",
* }
* )
*/
class Example extends ConfigEntityBase implements ExampleInterface {}
Vad är detta?!?!?
/**
* @ContentEntityType(
* id = "example_content",
* label = @Translation("Example Content"),
* )
*/
Annotations är meta-data som beskriver en entitet. Drupal använder sig av denna informationen för att registrera och konfigurera en entitet.
/**
* @ConfigEntityType(
* id = "example_config",
* label = @Translation("Example Config"),
* )
*/
Innehåll
Konfiguration
Kommer vi att göra tillsammans.
Jag kommer gå igenom varje moment på tavlan och sedan får ni fundera, ställa frågor, diskutera och själv utföra samma sak som jag precis visade.
I slutet av dagen har vi förhoppningsvis en färdig konfigurations-entitet med formulär.
Vi fokuserar på konfigurations-entiteter.