ZF2的Session处理
来源:互联网 发布:硬币摇卦的正确算法 编辑:程序博客网 时间:2024/06/11 14:57
ZendFramework之中,可以有多种办法去处理session。
这些全部都以session handler的设置而不同
一般情况下默认是以文件形式存储的
当然如果你要建立高性能网站
或许你会采用用缓存的形式来处理session
在zf2的session manager中,默认的session handler是通过一次设置以后而改变默认的
也就是说。你一旦改变了handler,那么下次还是会用这个handler来处理。
我这里是一段代码,用memcache去处理session
这个是在
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
'factories'
=>
array
(
'MyCache'
=>
function
(
$sm
) {
$config
=
$sm
->get(
'Config'
);
$driver
=
$config
[
'cache'
][
'driver'
];
$cacheConfig
=
$config
[
'cache'
][
$driver
];
$adapterPluginManager
= StorageFactory::getAdapterPluginManager();
switch
(
$driver
) {
case
'mymemcached'
:
$adapterPluginManager
->setInvokableClass(
$driver
,
'FrontBase\Cache\Memcached'
);
$servers
=
$cacheConfig
[
'memcached_servers'
];
$memcached_config
=
array
(
'adapter'
=>
array
(
'name'
=>
$driver
,
'options'
=>
array
(
'servers'
=>
$servers
,
'ttl'
=>
$cacheConfig
[
'default_ttl'
],
),
),
);
$memcached
= StorageFactory::factory(
$memcached_config
);
return
$memcached
;
break
;
case
'myredis'
:
$adapterPluginManager
->setInvokableClass(
$driver
,
'FrontBase\Cache\Redis'
);
$server
=
$cacheConfig
[
'redis_servers'
][0];
$redis_config
=
array
(
'adapter'
=>
array
(
'name'
=>
$driver
,
'options'
=>
array
(
'server'
=>
$server
,
),
),
);
$redis
= StorageFactory::factory(
$redis_config
);
return
$redis
;
break
;
}
},
'MySessionManager'
=>
function
(
$sm
) {
$config
=
$sm
->get(
'Config'
);
$sessionConfig
=
$config
[
'session'
];
$saveHandler
=
$sessionConfig
[
'save_handler'
];
switch
(
$saveHandler
) {
case
'Cache'
:
$cache
=
$sm
->get(
'MyCache'
);
$sessionCache
=
clone
$cache
;
$sessionCache
->getOptions()->setNamespace(
'mysession'
)->setTtl(
$sessionConfig
[
'expiration'
]);
$saveHandler
=
new
Cache(
$sessionCache
);
$manager
=
new
ZendSessionManager();
$manager
->setSaveHandler(
$saveHandler
);
return
$manager
;
break
;
}
},
'Account\Helpers\Captcha'
=>
function
(
$sm
) {
$sessionManager
=
$sm
->get(
'MySessionManager'
);
$captcha
=
new
Captcha\Captcha(
$sessionManager
);
return
$captcha
;
},
);
如果调用了验证码的服务,那么这套session体系才会运转,否则这套session体系就不运转。
0 0
- ZF2的Session处理
- ZF2常用的操作
- zf2的路由
- ZF2 Session简单使用(Zend\Authentication\Storage\Session.php)
- Session的事物处理
- session 的周期处理
- JFinal的session处理
- ssh_status的session处理
- ZF2教程 - 委托器的使用
- 基于ZF2的开源项目
- zf2搭建 Album是遇到的错误
- NHibernate中Session的处理
- NHibernate中Session的处理
- NHibernate中Session的处理
- Session失效的处理办法
- Session失效的处理办法
- Session监听事件的处理
- 处理session跨域几种的方案
- .net mvc 基础,表单传值,以及view显示
- android 自定义View
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- sublime 配置策略
- HashSet中存储复杂类型对象
- ZF2的Session处理
- 修改svn的服务器路径
- hdu 2571 命运 DP
- 【OpenGL】Shader实例分析(五)- 边缘检测
- Java程序员应该知道的10个调试技巧
- 证券黄金分割线
- 手机卫士学习20-短信拦截和接收指令
- Firefox/Chrome/IE浏览器关于CSS和JavaScript的兼容性
- Map实现从0~100中随机生成50个数,统计出现的数字最大值和最小值,输出出现最多的次数及对应的数字