跳转到主要内容

和“
实体
”有关的内容:

Drupal8中的实体字段主要有这些:

boolean 布尔型 changed 修改日期 created 创建日期 decimal 数字 email 电子邮件 entity_reference 实体引用 float 浮点数 integer 整型 language 语言 map 映射 password 密码…

11.8 实践

1、按讲义操作练习

2、把留言板改造为实体,参考用户实体,实现注解里的每一项功能

3、留言板实体需支持可配置字段

4、留言板实体需支持字段验证

以上。

11.8 实践

本节我们来创建一个名为"contact"的内容实体。可以通过drupalconsole来创建,如:

jerry@mac:~/Sites/drupal8 > drupal list | grep entity entity entity:debug Debug entities…

上文中我们创建了一个实体类型,但是对数据没有做验证。

实体验证跟表单验证不同,而是使用实体验证API来完成。

1、验证API

在任何类型化的数据对象上调用validate()方法实施验证,如:

$definition = DataDefinition::create('integer') ->…

11.4 实体API

1、实体检测 // 检测对象是否是一个实体的实例 if ($object instanceof \Drupal\Core\Entity\EntityInterface) { } // 内容实体实例检测 if ($entity instanceof \Drupal\Core\Entity\ContentEntityInterface){ } //…

处理器(Handlers)用于响应实体的一些操作。

实体处理器可以通过entity_type.manager service来访问。

Drupal8的实体处理器主要有:

1、存储(Storage)

存储处理器实现了EntityStorageInterface接口,…

配置实体类型和内容实体类型都是通过注解来定义的。

来看核心的一段代码,在core/modules/user/src/Entity/User.php

<?php namespace Drupal\user\Entity; use Drupal\Core\Entity\ContentEntityBase; use…
Drupal8实体

Drupal8常见的实体如下:

节点(node) 评论(comment) 分类术语(taxonomy) 用户(user) 配置实体(configuration)

每个实体包含若干方法:

如:

普遍使用的方法: $entity->id() 实体中指定的方法:$node->…
实体类型:

实体类型:

每个实体都有一个实体类型对象与之相伴,实体类型对象充当着实体插件的插件定义,同时包含着实体对象的元数据,这些元数据来自实体插件类的释文块中,在释文对象的get方法中将元数据传递给实体类型对象,见:

Drupal\Core\Entity\…