跳转到主要内容

和“
Drupal8
”有关的内容:

系统默认提供的数据类型:

系统默认提供了一些数据类型,它们被缓存在数据库“cache_discovery”表的'typed_data_types_plugins'条目里面,下载data字段,然后反序列化里面的内容即可看到

有90种数据类型,如下:…

类型化数据是什么:

一门编程语言往往提供了一些数据类型,但这些数据类型都很基本,drupal8的类型化数据概念是编程语言级数据类型的延伸,用以解决一些高级问题,自定义更高一级抽象的数据类型,比如php语言的数据没有URL类型、mail类型等等,同时为数据提供额外的元数据访问能力,比如数据是否可翻译、…

自定义数据类型:

自定义的数据类型如此好,那么如何自定义一个数据类型呢?和定义插件的基本方法相同:

创建一个实现了接口:Drupal\Core\TypedData\TypedDataInterface的类,也就是类型类,大多数情况可以继承如下类:

Drupal\…

为什么需要类型化数据?

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

类型化数据管理器:

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

\Drupal::typedDataManager();

键值储存系统:

在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 ";