上海戴文 - Drupal开发 在线教育

你在这里

Drupal8

Drupal 8.2.4 和 Drupal 7.53 发布

Drupal 8.2.4 和 Drupal 7.53  于2016年12月8日发布了!

Drupal 8.2.4 是 Drupal 8 的一个补丁版本,已可以用于生产站点了。上一个 Drupal 8 版本是Drupal 8.2.3,发布于2016年11月16日。

本次Drupal 8.2.4 和 Drupal 7.53 都是仅是 bug 修复和文档、测试更新,包含了多条 bug 修复。官方强烈建议将你的 Drupal 8 和 Drupal 7站点升级到对应的最新版本。

下面几个重要的问题已在 8.2.4 版本中解决了:

articles: 
评分: 

Drupal 8.2.3 发布

Drupal 8.2.3 于2016年11月16日发布了!

这是 Drupal 8 的一个补丁版本,已可以用于生产站点了。上一个 Drupal 8 版本是Drupal 8.2.2 ,发布于2016年11月3日。

本次Drupal 8.2.3 是安全漏洞修复。当你看到下面的发布说明和安全公告,敦促紧急升级你的站点。

articles: 
评分: 

Drupal 8.2.2 发布

Drupal 8.2.2 于2016年11月3日发布了!

这是 Drupal 8 的一个补丁版本,已可以用于生产站点了。上一个 Drupal 8 版本是Drupal 8.2.1 ,发布于2016年10月11日。

本次Drupal 8.2.2 仅是 bug 修复和文档、测试更新,包含了多条 bug 修复。更多关于和 Drupal 7 以来的修改和改进请查看 CHANGELOG.txt。有关 Drupal 8.x 系列版本更多信息,请参阅 Drupal 8概述

articles: 
评分: 

Drupal 8.2.1 发布

Drupal 8.2.1 于2016年10月11日发布了!

这是 Drupal 8 的一个补丁版本,已可以用于生产站点了。上一个 Drupal 8 版本是Drupal 8.2.0 ,发布于2016年10月5日。

本次Drupal 8.2.1 仅是 bug 修复和文档、测试更新,主要包含下面的2条 bug 修复。更多关于和 Drupal 7 以来的修改和改进请查看 CHANGELOG.txt。有关 Drupal 8.x 系列版本更多信息,请参阅 Drupal 8概述

这次主要是紧急修复2条 bug:

articles: 
评分: 

Drupal 8.2.0 发布

Drupal 8.2.0 于2016年10月5日发布了!

Drupal 8.2 发布

Drupal 8.2.0,Drupal 8 的第二个小(minor)版本现已可用。对于 Drupal 8, 在我们的发布进程里,我们做了一些显著变化,采用语义化版本和预定功能发布。它允许我们及实时的在 Drupal 8 里做大量的改进,同时还提供向后兼容。

articles: 
评分: 

Drupal 8.1.10 发布

Drupal 8.1.10  于2016年9月21日发布了!

Drupal 8.1.10,一个包含安全漏洞修复程序的维护版本,现在可供下载。

更多信息请参见 Drupal8.1.10 版本说明。

强烈建议升级现有 Drupal 8 站点,在此版本中既没有任何新特性,也没有非安全相关的 bug 修复,有关 Drupal 8.x 系列版本更多信息,请参阅Drupal 8概述

articles: 
评分: 

云客Drupal8源码分析 之 Session系统

Session在网站中扮演非常重要的角色,储存临时用户数据、登录数据等等都用到了它,Drupal8使用到了Symfony的Session组件,该组件非常强大灵活,drupal8在此基础上有所改造和扩展,要理解Symfony的Session组件让我们先从原生php的Session机制说起:

php原生的Session采用服务器文件系统储存用户会话数据,这对一般小型网站足够了,但php做的远非如此,它提供了一整套机制让用户可以自定义Session的实现,比如加密储存、数据放数据库等等,我们看一看Session是如何实现的:

云客Drupal8源码分析 之 响应对象Response及Cookie设置

要理解这一部分推荐先了解RFC2616文档,RFC文档就是互联网技术的魂,该文档定义了http协议,里面详细阐述了各类http头的使用,作 为补充材料可以看一看上野宣所著的《图解HTTP》一书,于均良翻译,(题外话:日本人写的技术书籍大多比较踏实,印象深刻的是远山启写的《数学与生活》 简述极限概念的时候比国内高等教育教科书好太多,希望国内多出好书,)

Drupal8使用了symfony框架的http-foundation组件,里面定义了响应对象,文件路径为\vendor\symfony\http-foundation,默认有五个响应对象:

Response:通用响应对象,用于处理一般响应,也是用的最多的响应对象

以下四个用于特殊目的,他们都继承自Response:

BinaryFileResponse:文件响应

JsonResponse:json响应

RedirectResponse:重定向响应

StreamedResponse:流媒体响应

以上四个响应类对基本的Response进行了扩展或修正,这里主要讲述Response:

云客Drupal8源码分析 之 请求对象Request及请求堆栈

drupal8是建立在Symfony组件之上,Symfony认为网站系统无非就是一个将请求转化为响应的系统,并以此设计执行流程,drupal8也是如此,所以整个系统运行之初就是建立请求对象,这个对象将贯穿整个程序,被各个模块访问。

建立请求对象也是为适应面向对象开发方式,这个对象将把以前面向过程式程序设计经常使用的系统输入、环境变量、cookies、session等等 数据封装起来,后续程序仅仅面对该对象即可,非常简洁,如无必要,不应该直接去操作$_POST、$_GET、$_COOKIE等等全局内容。为了方便使 用请求对象也加入了一些额外的功能,比如可以添加自定义属性,这样模块间可以很方便的共享一些数据,它就像一艘船,顺流而下,可以带上你给的数据被沿途的 处理节点看到。

一个根据外部输入产生的请求对象,系统根据它产生响应对象,响应可能包含很多块内容,为了产生每一块内容,在内部可以建立很多子请求对象,相对的由外部输入产生的请求对象称为主请求对象,主请求和子请求被放入请求堆栈中管理。

drupal8不经修改的完全使用了Symfony的请求组件,请求对象的类定义位于:\vendor\symfony\http-foundation\Request.php

下面来看看这个请求对象:

产生主请求:

云客Drupal8源码分析 之 自动加载器与Composer

自动加载器:

drupal8启动的第一步就是创建自动加载器,自动加载器是什么玩意?它是怎么产生的?

在面向对象的php程序开发的时候,要实例化一个类对象则需要先加载类定义文件,当 php发现并没有包含类定义文件时,并不会立即报错,它会去一个列队里面依次调用里面定义的函数或者方法,如果在这个过程中类定义文件被加载了,则返回继 续实例化对象,程序可以没有问题的继续执行,否则程序报错,那么这个列队里面的函数或方法是怎么来的呢?它是由用户定义好,然后通过 spl_autoload_register()注册进去的,这就是php的自动加载机制,spl_autoload_register()的使用方法请 见http://www.php.net/manual/zh/function.spl-autoload-register.php

页面

订阅 RSS - Drupal8