Chapter 9: Custom Fields
In Chapter 6, Data Modeling and Storage, and Chapter 7, Your Own Custom Entities and Plugin Types, we talked quite extensively about content entities and how they use fields to store the actual data that they are supposed to represent. Then, we saw how these fields, apart from interacting with the storage layer for persisting it, extend TypedData API classes in order to organize this data better at the code level. For example, we saw that the BaseFieldDefinition
instances used on entities are actually data definitions (and so are the FieldConfig
ones). Moreover, we also saw the DataType plugins at play there, namely, the FieldItemList
with their individual items, which, down the line, extend a basic DataType plugin (Map
in most cases). Also, if you remember, when we were talking about these items, I mentioned how they are actually instances of yet another plugin—FieldType
. So essentially, they are a plugin type whose plugins extend plugins of another...