云客Drupal源码分析之网站维护模式

 

当drupal的网站需要升级、导入内容、备份、更改内容类型等等会影响访问用户的时候需要开启维护模式,操作路径是:管理-配置-开发-维护模式
开启维护模式并输入提示内容即可,在提示内容中@site可以代表当前站点的名称,除此外没有其他变量
那么维护模式是怎么实现的呢?这就是本篇的主题:

 

判断维护模式的工作是在处理核心派发kernel.request事件的时候进行的,优先级低于路由判断,也就是说此时已经知道请求所对应的路由线路是什么,系统已经解析出了请求对应的路由对象(也可以理解成路由线路)。

关于处理维护模式,系统设置了两个侦听器,他们的服务id分别是:
user_maintenance_mode_subscriber:
优先级:31,对应的类:Drupal\user\EventSubscriber\MaintenanceModeSubscriber 处理方法:onKernelRequestMaintenance
maintenance_mode_subscriber:
优先级:30,对应的类:Drupal\Core\EventSubscriber\MaintenanceModeSubscriber 处理方法:onKernelRequestMaintenance

先介绍一下维护模式服务对象:

在\core\lib\Drupal\Core\Site中有一个维护模式服务对象,它实现维护模式接口,这个接口只有两个方法:
public function applies(RouteMatchInterface $route_match); 返回当前请求是否需要运

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值