中文drupal教程(4)Session会话系统

  

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

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

实现Session有7个方法open, close, read, write, destroy, gc , create_sid,不管是原生、php扩展、还是用户自定义机制都是使用它们,使用session_set_save_handler()函数注册后,Session机制就会调用这些方法使用它们内部定义的逻辑去储存会话数据,关于详细信息请看官方文档,在php5.4开始php定义了Session处理器接口SessionHandlerInterface以及此接口的默认实现 SessionHandler ,用户可以自己去实现该接口,接口定义了以上7个方法,这些方法会被php内部自动调用,无需用户干预,php会把调用结果填充到$_SESSION超全局变量里,这个接口的实现这里把它称为存储处理器,有了它我们就可以在里面实现数据库存储逻辑等等了。

下面来看一看Symfony的Session组件是怎么运作的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值