#### 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采集進程服務