中文drupal教程2. 请求对象Request及请求堆栈

本文详细介绍了Drupal如何基于Symfony组件构建请求对象,这些对象封装了系统输入、环境变量等数据,并允许添加自定义属性。请求对象在主请求和子请求之间形成堆栈管理,提供灵活的数据共享。文章还探讨了如何创建子请求、操作session以及访问不同类型的参数包。此外,请求堆栈作为一个先进后出的数据结构,通过RequestStack管理各个请求对象。作者强调,这个Drupal中文教程适合Drupal 8到10等多个版本。
摘要由CSDN通过智能技术生成

从drupal 8开始,后续版本的Drupal是建立在Symfony组件之上,Symfony的认知是“网站系统就是一个将请求转化为响应的系统”(这是一个非常精辟的总结),并以此设计执行流程,drupal也是如此,所以整个系统运行之初就是建立请求对象,这个对象将贯穿整个系统,被各个模块访问。

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

一个根据外部输入产生的请求对象,系统根据它产生响应对象,为了产生响应内容,有时需要在内部自己访问自己,或递归访问自己,这就需要可以建立子请求对象,相对的由外部输入产生的请求对象称为主请求对象,主请求和子请求被放入请求堆栈中管理,其实在系统中子请求功能用的极少,但有时确实需要;如果你认为“子请求”功能是为了让每一个子请求建立一块页面内容(即“块”概念),那么就错了,Drupal系统并非此架构,页面中每一个块是由区块系统产生的,而非子请求,学习完后便能体会。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值