最近一次更新时间 October 13, 2016 - 16:37
原文链接 https://www.drupal.org/docs/8/api/entity-api/introduction-to-entity-api-in-drupal-8
背景
在Drupal 7开发周期的晚期才引进了Entity的概念。非核心的entity.module对API进行的扩展,增加了保存和删除entities等改进。
这些改进中的大部分都已经包含到了Drupal 8中。Entity Validation现在有自己单独的API(例如,可以用于验证不是通过Form而是通过REST保存的Entity)。
THE Drupal 8 entity system
Entities就是带方法的特殊类
- 普通方法 | $entity->id()
- Entity类的特定方法 | $node->getTitle()
两种类型都在interfaces里面中有定义和文档。
Handlers
Handlers支持Eneities
Storage handler - 支持对entities进行loading,saving和deleting,还包含了对revisions,translations和可配置的fields的支持。另外还有支持access control, viewing, listing和forms的其他handlers。
两种类型
Drupal 8核心里面的Entity类来自于两种类型。
Configuration Entity 配置系统中使用Configuration Entity.支持翻译,并且能够为安装提供自定义的缺省值。
Content Entity 由可配置的和基本fields组成,可以有修订版本并且支持翻译。
本页面尚未成型,Drupal 8中的Entity API还未最终完成,文档也在更新中。 待完成/计划中:
- Handlers
- - Storage
- - Access
- - Forms
- - Views Builder
- - List
- Bundles
- Configuration entities -
Content entities
- - Revisions
- - Translations
- - Fields
- UUID support
- Entity query
- Routing
Drupal 8 Entity API issues being worked on:
2095603: [meta] Complete Entity Field API
1540656: [META] Entity Serialization API for web services (e.g. content staging)
_#1234567: Entity Forms API