跳转到主要内容

和“
Drupal8
”有关的内容:

为什么需要类型化数据?

php为我们提供了基础的数据类型,如整型、字符串、类、接口等等,但在有些情况下,这些基本类型不够用或者说用起来不方便,比如我们经常处理电话号码,那么我们就需要一个电话号码类型,保存类似这样的数据:0755-12345678、13812345678,…

类型化数据管理器:

为了方便使用类型化数据API(Typed Data API),系统提供了一个统一用户界面,那就是类型化数据管理器(TypedDataManager),它是容器中的一个服务,通过如下方法得到:

\Drupal::typedDataManager();

定义类:

类型类提供了操作、承载数据的能力,而定义类提供了对数据的元数据进行描述的能力,它提供了这些元数据:返回类型的字符串表示、人类可读的类型描述、是否为列表、是否只读、值是否可计算、是否必须、定义该类型的类型类、类型设置、设置及取回数据约束

所有定义类都实现了此接口:…

类型类:

每个类型类定义了一种数据类型,它的元数据用定义类来描述,系统使用插件机制(关于插件请看本系列的相关文章),一个插件就是一个类型类,每个插件都定义了一种数据类型,在drupal8中类型类又分为三大类:原始类型、复合类型、列表类型

原始类型Primitive:

补充资料:

1、官网文档:https://www.drupal.org/docs/8/api/typed-data-api/typed-data-api-overview

官网API文档https://api.drupal.org/api/drupal/core%21core.api…

键值储存系统:

在drupal中专门定义了一个用于储存键值对的核心部件,位于:

\core\lib\Drupal\Core\KeyValueStore

定义了两大类键值储存:

Drupal\Core\KeyValueStore\KeyValueStoreInterface:一般键值储存器接口…

本篇主题讲解状态state(State API),在容器中他的服务id为:state

类:Drupal\Core\State\State

通常使用:

$state = \Drupal::state(); //获取状态对象

$time = $state->get('system.…

在drupal中的信息可以分为四类:

内容Content:

用于被显示的内容,文章、新闻、基本页、图片、文件、自定义块等等,内容的储存和访问是通过实体Entities来进行的

会话Session:

用户和站点的交互信息,它其实是状态数据,…

系统是如何定义元素类型及如何附加的呢?这里就要介绍一个服务:

它在容器中的服务名为:plugin.manager.element_info 别名为: element_info

渲染数组的#type键值应该为以上所示字符串之一,如:$elements['#type']= " contextual_links ";