71. 主题引述

从本主题开始,云客源码分析系列将连续讲解drupal主题相关内容,主要读者定位为drupal开发人员,以及想深入理解主题系统的前端人员,讲述系统是如何处理主题的,尽量兼顾到不会php的主题开发人员,提供许多要点知识,使他们读后更加深入的理解主题,对一些概念和用法有精确的掌握,由于这样的定位,将少讲解主题开发的入门知识,这方面的中文文章资料有很多,官方也较系统的进行了介绍,你应该先行查阅,如果

70. 内部动态页面缓存dynamic_page_cache

内部页面缓存Internal Page Cache,服务id:http_middleware.page_cache,可以视为匿名用户缓存(对登录用户不起作用),相比内部动态页面缓存(本主题内容),她在更早的http处理核心堆栈中执行,见本系列《HttpKernel堆栈》主题,匿名用户缓存处理的缓存比较简单,但匿名访问的请求量往往很大,它采用网址和请求格式做缓存id,因此没有反映出缓存上下文的特性,丢掉了许多缓存变体,而内部动态页面缓存则弥补了这一点

68. 锁lock服务

我们知道web服务器是并发访问的,php脚本被不同的线程或进程执行,他们可能真正的同时执行,现在假设有个操作(比如计划任务)在系统中只能被执行一次,由于这种并发性就可能出现问题,两个同时执行的请求可能带来两次执行,为了解决这个问题我们就需要“锁LOCK”了

61.渲染管道及显示变体DisplayVariant

你一定好奇为什么控制器只返回了很简单的渲染数组,简单到甚至里面只包含了一个字符串标签而已,可最后的页面为何包含了那么多信息(页头、页尾、侧边栏、搜索框、导航菜单、面包屑路径等等)?是多次执行请求流程再合并结果吗?本主题讲解关键的渲染过程,将回答这些问题。通过本系列前面的学习你现在已经知道了drupal程序部分的主体结构,从本篇开始将越来越多的涉及到看的见的部分:页面外观。

57. 内容实体数据库表结构及表映射table mapping

在drupal中提到“字段”这个概念时,请不要理解为数据库中表的一个列,这不是一个概念,它是指一个字段对象,充当着实体对象的属性,也是一个列表类型的类型化数据对象,当本系列提到“字段field”一般均是指字段对象或字段定义对象,而数据库表中的字段列,则将其称为“列column”