云客Drupal源码分析之内容实体概述Content Entity

本文介绍了Drupal8中的内容实体,作为处理内容信息的核心,内容实体涉及数据建模、Bundle和实体标准键名等概念。数据建模是为对象确定属性和关系的过程,而Bundle是内容实体的扩展数据模型,用于描述特定内容类型。实体标准键名则用于统一实体属性的命名。内容实体与配置实体间存在区别,如储存方式、翻译机制等,且内容实体支持版本管理和翻译功能。
摘要由CSDN通过智能技术生成

内容实体用于处理系统四大信息类别(内容、会话、状态、配置)中最主要的内容信息,如栏目内容、评论内容、会员数据、文件信息等等,是一个比较庞大的子系统,涉及内容很多,本主题介绍一个概况,帮助后续学习,在后续主题中对各细节会有非常详细的介绍。

数据建模:
如果你是第一次听到这个词,可能会觉得抽象,但它的含义却是很简单的,就是为一个对象确定数据模型的过程,这里举一个列子来说明:假设你要做一个卖杯子的网站,那么你必须先思考这个网站会涉及到你所卖杯子的哪些属性,比如品牌、型号、价格、材质、容积、是否保温、库存等等,哪些属性是必须的呢?哪些属性会出现相关依赖属性呢(比如杯子是保温的,那么就会出现保温时长属性)?每个属性的值怎么表示呢?可以通过哪些属性进行检索或筛选呢?应该怎么命名每个属性呢?
回答这些问题的过程就是在进行数据建模,完成以后一个数据模型就出现了,接下来你要考虑数据的储存问题,可以进一步的将通用的属性归到一大类,称作基本数据模型,将不通用的属性归为另外一大类,称为扩展数据模型,在drupal中用“内容类型”这个名字来指代数据模型,在有些cms中有不同的称呼,比如帝国cms中称为“系统模型”。
在研究cms系统管理的信息时,我们会发现有一类信息会具备一些共同属性,比如新闻、产品、评论等等它们都具备:建立时间、发布状态、索引ID、作者等等,会发现这一类的信息都是内容,是cms管理的主要对象,这在drupal中称为内容实体,而它们具备的那些通用属性形成了所有内容信息的基本数据模型,相对应的,由于基本数据模型的共有性产生了节点这个概念,节点可以检索所有这些具备共有性的内容,并且系统预设了这些属性,面对具体的某一类内容我们只需要定义扩展数据模型就可以了,我们定义的实际上是扩展数据模型,称为bundles,见下文,在不同的bundle中对共同属性的命名可能是不一样的,比如共同属性:ID在产品模型中可能是型号,在新闻中可能是标题,由此又产生了标准属性名这个概念,在drupal中称为实体标准键名,见下。

Bundles
官方解释为一种用于信息的容器类型,有时被称为子类型,这解释听起来有点抽象,直白一点说就是:扩展数据模型。举个列子:比如我们要建立一个关于汽车的网站,首先需要对汽车进行数据建模以储存汽车的属性,比如品牌、价格、座位数等等&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值