天天看点

云客Drupal源码分析之实体类型管理器、实体类型、实体Entity

各位《云客drupal源码分析》系列的读者:

本系列一直以每周一篇的速度进行博客原创更新,希望帮助大家理解drupal底层原理,并缩短学习时间,但自《插件系统(上)》主题开始博客仅发布前言和目录,这是因为云客在思考一个问题:drupal在国外如此流行但在国内却很小众,一个重要原因应该是中文资料的缺乏,我们是否能够找到一种方式来激发中文资料的出产?此时同是积极推动者的晴空提出能否用付费阅读的方式来鼓励更多作者?并建立了一个付费阅读drupal资料的网站,个人觉得也许这能激发高质量原创内容的出产,学习者支付很少费用可以节省大量学习时间是划算的,作者也能分配精力去开发高质量内容而得到报酬,drupal普及开了对大家都有益处,为了支持晴空的这个项目,云客决定将从《插件系统(上)》主题开始后续内容全部放在这个网站上收费阅读,读者只需要付很少费用即可,云客在这里承诺该系列得到的所有订阅费用全部捐献给drupal深圳社区,用以组织活动等等,发展社区需要大家贡献力量,该网站已于2017年3月29日上线,请移步:http://nowicode.com/ 阅读本篇完整版

我是云客,【云游天下,做客四方】,联系方式见主页,欢迎转载,但须注明出处

****************************************以下为前言和目录,请移步:http://nowicode.com/ 阅读本篇完整版*******************************

 如果对实体这个概念还不清楚的话请阅读本系列的《实体概述》,本篇将开始讲解drupal8的实体系统,是关于实体系统的一个开始,有许多内容会在后续主题中连续发布,学习它所需基础知识比较多,但如果是跟着本系列发布顺序一直看到这里那么所需基础知识你已经具备了,如果有欠缺请翻看前面的主题,在后续主题中如果需要基础知识将会先介绍基础,实体系统是一个很大的子系统,内容比较多,但结构却很清晰,学习可以循序渐进,本系列按照执行流程和结构将它分解为许多子内容块,避免难度过高,本篇看一看drupal是如何实现实体这个概念的。

   如果你是按照drupal执行流程(也是本系列的发布顺序)来学习的话,那么遇到的第一个实体相关概念就是用户角色实体了,位于Dr。。。。

实体类型管理器:

在阅读本篇前务必阅读本系列插件、钩子相关主题,在drupal中实体是基于插件机制来实现的,所有的实体都是一个插件,这句话很重要:一个实体就是一个插件!在插件篇中已经讲到系统定义插件管理器来管理使用某个类型的全部插件,对于实体这个类型的插件drupal使用实体类型管理器来管理:

服务id: entity_type.manager

类:Drupal\Core\Entity\EntityTypeManager

获取方式:\Drupal::entityTypeManager();或者$con、、、

实体类型管理器:

在阅读本篇前务必阅读本系列插件、钩子相关主题,在drupal中实体是基于插件机制来实现的,所有的实体都是一个插件,这句话很重要:一个实体就是一个插件!在插件篇中已经讲到系统定义插件管理器来管理使用某个类型的全部插件,对于实体这个类型的插件drupal使用实体类型管理器来管理:

服务id: entity_type.manager

类:Drupal\Core\Entity\EntityTypeManager

获取方式:\Drupal::entityTypeManager();或者$con

实体:

在drupal中实体是一个插件,位于模块的\src\Entity目录,他们都实现了如下接口:

Drupal\Core\Entity\EntityInterface

系统提供了、、、

继续阅读