跳转到主要内容

和“
实体
”有关的内容:

11.8 实践

1、按讲义操作练习

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

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

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

以上。

11.8 实践

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

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

本节我们来创建一个名为"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->…

如果对实体这个概念还不清楚的话请阅读本系列的《实体概述》,本篇将开始讲解drupal8的实体系统,是关于实体系统的一个开始,有许多内容会在后续主题中连续发布,学习它所需基础知识比较多,但如果是跟着本系列发布顺序一直看到这里那么所需基础知识你已经具备了,如果有欠缺请翻看前面的主题,在后续主题中如果需要基础知识将会先介绍基础,实体系统是一个很大的子系统,…