#### session组件配置
* 配置
~~~
'components' => [
//seesion组件
'session'=>[
'class' => 'Swoolefy\Core\Session',
'cache_driver'=>'redis_session',//session的redis驱动,对应下面的redis_session组件
'cookie_domain' => '.swoolefy.com'
],
//session驱动
'redis_session' => [
'class' => 'Swoolefy\Core\Cache\Redis',
'constructor'=> [
[
'scheme' => 'tcp',
'host' => '192.168.99.102',
'port' => 6379,
'password' => '123456',
'persistent' => true,
'timeout' => 2
],
// ['tcp://192.168.99.102:6379?persistent=true&password=123456&timeout=2'],
[
'profile' => '3.2'
]
]
],
~~~
* 注意:
1、session组件只适合用于http的web服务,不适用于websocket,rpc,udp服务中,可以在http的应用层配置中设置`session_start=>true|false`来是否开启session
2、session组件目前只能结合redis来使用,如果你没有安装好redis,是无法使用该session的,请在http的应用层配置中设置session_start=false来禁用session。同时redis的驱动是基于predis组件的,所以还需要安装predis组件,否则也是没法使用的。
~~~
composer require predis/predis
~~~
3、session组件类底层是基于session的原理实现的
~~~
<?php
namespace App\Controller;
use Swoolefy\Core\Application;
use Swoolefy\Core\Controller\BController;
class SessionController extends BController{
public function setSession() {
//组件形式设置值
Application::getApp()->session->set('swooleframe', 'swoolefy');
}
public function getSession() {
dump(Application::getApp()->session->get('swooleframe'));
}
}
~~~
可以注意到,如何使用session的get和set
~~~
Application::getApp()->session->set();
Application::getApp()->session->get();
~~~
[参考核心session.php](https://github.com/bingcool/swoolefy/blob/master/score/Core/Session.php)
- 欢迎使用swoolefy
- 环境说明
- 开发部署
- 安装
- 创建应用
- 启动|停止服务
- nginx代理
- 创建Controller
- 应用结构
- App应用对象
- Event请求处理
- 超全局管理
- 热更新
- inotify实现worker进程热重启
- http服务
- 应用层配置
- 协议层配置
- 路由规则
- 控制器
- 数据模型
- websocket服务
- 应用层配置
- 协议层配置
- 数据封装格式
- 控制器
- 数据模型
- 二进制数据处理
- rpc服务
- 应用层配置
- 协议程配置
- 数据包协议格式
- 服务控制器
- 服务数据模型
- udp服务
- 应用层配置
- 协议层配置
- 数据包封装格式
- 控制器
- 存在问题
- 常用组件
- log
- view
- session
- cache(redis)
- db(mysql)
- mongodb
- 其他服务管理
- 自定义进程管理
- 异步任务管理
- 内存表管理
- 定时器管理
- 异常捕捉处理
- 进程池管理
- systerm采集进程服务