跳转到主要内容
  • 云客Drupal8源码分析之渲染占位符及其产生器

    渲染占位符及渲染占位符产生器 drupal使用渲染占位符机制的目的是为了提高系统性能,具体来讲就是提高缓存利用率和效率 具体解决以下问题: 1:有时候页面是一模一样的,仅仅某一元素不一样,比如一个页面仅显示的用户名不一样,如果有一万的用户岂不是要在缓存中保存一万份?这是不划算的,也不合理,这种现象叫做上下文基数过大 2:有些内容变化频率特别快,几秒钟就变化,甚至更短,这个时候缓存的成本相对就大,使用缓存不划算,可以将变化频率特别快的部分独立出来,不进行缓存 3:有些内容很快就过期,缓存

  • 云客Drupal8源码分析之钩子、模块处理器、函数定义

    元旦刚刚过去,继续保持一周一篇的速度,这是Drupal8云客源码分析系列在2017年的开篇,来讲几个极其重要的内容,它们是钩子、模块处理器、函数定义。

  • 云客Drupal8源码分析之缓存上下文CacheContext

    “上下文Context”这个词是什么意思呢?平常生活中它常见于语言、文字交流里面,意思是当前交流处于一个特定的环境下,依托前面的内容交流才有意义

    比如这句话:“他正在学习drupal”,如果单独说是没有意义的,因为你不知道“他”指代谁,在交流中前面一定定义清楚了“他”是谁,这个“他”就是上下文,这个谁就是上下文的值

  • 云客Drupal8源码分析之渲染上下文RenderContext、渲染器renderer

    当drupal的控制器返回渲染数组的时候,系统会派发视图事件,渲染数组被main_content_view_subscriber(主内容视图订阅器)处理,它根据请求的格式,将系统流程定向到对应的格式渲染器,系统默认提供了四个格式渲染器,他们被定义在容器的main_content_renderers参数里面,其中html格式对应的是服务id为“main_content_renderer.html”的html格式渲染器,我们得到的html格式页面几乎都是它渲染的,它将渲染分为两个步骤:先渲染b

  • 云客Drupal8源码分析之渲染数组(render array)

    从本质上讲现代所有的web软件系统中都用到了渲染数组,只不过在drupal世界里明确给了它这个名字:“渲染数组”。

    如果你使用过模板引擎,那么会很熟悉它,要使模板引擎工作,那么需要给它传入一些变量,这些变量将决定模板里面对应变量的显示,传入的这些变量往往是以数组的方式传入,键名代表模板里面的变量名,键值代表变量值,这样的数组就叫做渲染数组,比如著名的php小型框架CodeIgniter(简称CI框架)中的经典用法就是这样:

     

  • 云客Drupal8源码分析之页面标题

    本篇主题讲解drupal8系统是如何计算页面标题的,标题很重要,尤其对于搜索引擎优化来说,标题权重很高

  • 云客Drupal8源码分析之控制器执行及其解析器controller_resolver

    在drupal的HttpKernel核心中使用控制器解析器来取得要执行的控制器,以及解析出控制器需要的参数 除此之外也在多个地方用到它,比如渲染数组的回调解析,是一个重点内容

    它的服务ID为:controller_resolver,接受以下两个参数:

  • 云客Drupal8源码分析之核心处理流程HttpKernel(drupal8执行流程)

    有朋友问云客drupal8源码分析系列文章有顺序规律吗?我的回答是有!从第一篇开始以来她是按照drupal的执行流程分主题进行的,除前言外,已经发布12篇了,如果你是跟着drupal8的执行流程进行研究学习的,那么这些文章就像站在路旁等着你的引路人为你揭开一些迷惑的问题,drupal很大,前方很远,有时候你可能感觉站在一望无际的平原,眼前只有遥远天际的落日昏辉,希望这些引路人让走在这条路上的你不那么孤独,应该先读她,再去看代码,这样心中有大局,既舒适又快速。

  • 云客Drupal8源码分析之数据库Schema及创建数据表

    本主题是《云客Drupal8源码分析之数据库系统及其使用》的补充,便于查询,所以独立成一个主题

    讲解数据库系统如何操作Schema(创建修改数据库、数据表、字段;判断它们的存在性等等),以及模块如何通过一个结构化数组去创建自己用到的数据表

  • 云客Drupal8源码分析之数据库系统及其使用

    在开始本主题前请允许一点点题外话: