跳转到主要内容
rat 提交于 5 September 2014

最近一次更新时间 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