Yii框架 session 数据库存储操作方法示例

本文实例讲述了Yii框架 session 数据库存储操作方法。分享给大家供大家参考,具体如下:

在组件中声明session 组件开启数据库库存储

[
  'components' => [
    'db'   => [
      'class'     => 'yii\db\Connection',
      'dsn'      => 'mysql:host=localhost;dbname=yii',
      'username'   => 'root',
      'password'   => 'xxxxxx',
      'charset'    => 'utf8'
    ],
    'session' => [
      'class' => 'yii\web\DbSession', //session 操作对象
      'db'  => 'db',   //指定数据库操作组件是上面的组件db
      'sessionTable' => 'yii_session' //session 数据库表名称
    ]
  ]
]

yii_session 表结构

CREATE TABLE yii_session
(
  id CHAR(40) NOT NULL PRIMARY KEY,
  expire INTEGER,
  data BLOB
)

控制器:

namespace app\controllers\home;
use Yii;
use yii\web\Controller;
class IndexController
{
  public function actionIndex()
  {
    $session = Yii::$app->session;
    if(isset($session['name']) && isset($session['tel']))
    {
      var_dump($session);
    }else{
      $session['name'] = '谭勇';
      $session['tel'] = 22;
      echo 'set session';
    }
  }
}

测试 http://host/index.php?r=home/index/index

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(0)

相关推荐

  • 解析PHP的Yii框架中cookie和session功能的相关操作

    Sessions 和 请求 和 响应类似, 默认可通过为yii\web\Session 实例的session 应用组件 来访问sessions. 开启和关闭 Sessions 可使用以下代码来开启和关闭session. $session = Yii::$app->session; // 检查session是否开启 if ($session->isActive) ... // 开启session $session->open(); // 关闭session $session->clo

  • Yii2框架数据库简单的增删改查语法小结

    User::find()->all(); //返回所有用户数据: User::findOne($id); //返回 主键 id=1 的一条数据: User::find()->where(['name' => 'ttt'])->one(); //返回 ['name' => 'ttt'] 的一条数据: User::find()->where(['name' => 'ttt'])->all(); //返回 ['name' => 'ttt'] 的所有数据: U

  • Yii框架操作cookie与session的方法实例详解

    本文实例讲述了Yii框架操作cookie与session的方法.分享给大家供大家参考,具体如下: cookie操作 设置cookie //获取response->cookies组件 $cookies = \Yii::$app->response->cookies; //设置cookie数组 $array_cookies=array('name'=>'user','value'=>'doubly'); //添加cookie数据 $cookies->add(new Cook

  • Yii操作数据库的3种方法

    一.执行原生太SQL的PDO方式. 复制代码 代码如下: $sql = "";//原生态sql语句 xx::model()->dbConnection->createCommand($sql)->execute(); 二.Active Record方式 (1)New 方式 复制代码 代码如下: $post=new Post; $post->title='sample post'; $post->content='post body content'; $p

  • Yii框架学习笔记之session与cookie简单操作示例

    本文实例讲述了Yii框架学习笔记之session与cookie操作.分享给大家供大家参考,具体如下: session操作 <?php namespace app\controllers; use yii\web\Controller; class HelloController extends Controller{ public function actionIndex(){ //把session当做对象 $session = \yii:$app->session; if($session-

  • Yii框架Session与Cookie使用方法示例

    本文实例讲述了Yii框架Session与Cookie使用方法.分享给大家供大家参考,具体如下: Yii Session使用 public function actionIndex(){ $session = \YII::$app->session; //判断session是否开启 if(!$session->isActive) { //未开启,需要开启 $session->open(); } //设置session $session->set('user_name','zhangs

  • Yii2.0中的COOKIE和SESSION用法

    1.Cookie Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的 ,通过/Yii::$app->response->getCookies()->add()添加Cookie,通过/Yii::$app->request->cookies读取Cookie. 1)添加一个Cookie <?php //第一种方法 $cookie = new /yii/web/Cookie(); $cookie -> name =

  • Yii2下session跨域名共存的解决方案

    前面谈过session相关配置,在开发的时候,常需要跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态.两种情况:一种9streets.cn和a.9streets.cn之间,另一种是a.com b.com之间,这几天总结了一下处理方法. 无论是一二级域名,和不同域名下的跨域,无非要达到两点: 客户端访问同一个sessionId, 所有域名对应的服务器访问的session的数据的位置必须一致. 1.访问共同的sessionId主要是

  • Yii数据库缓存实例分析

    本文实例讲述了Yii数据库缓存用法.分享给大家供大家参考,具体如下: yii  操作数据库缓存: 1.在main.php主文件中添加 'dbcache'=>array( 'class'=>'system.caching.CDbCache', //数据库缓存,注意你自己的路径问题 ), 2.设置数据库缓存 Yii::app()->cache->set($key,$value,$outtime); //$key 唯一主键,$value 对应主键的值(可以是数组), $outtime 过

  • Yii框架用户登录session丢失问题解决方法

    本文实例讲述了Yii框架用户登录session丢失问题解决方法.分享给大家供大家参考,具体如下: 最近做项目,使用的是YII框架,用户的登录总是出现有时候能登录,有时候不能登录的情况.调试了很多次,开始以为是服务器配置问题,后来怎么测试都不行,还是出现有时候登录session丢失的情况,没办法,在群里面问,发帖,请教大拿,最后都没有发现什么问题. 无意间在网上看到一个人说yii session丢失的问题.终于解决了,解决方法: 初步解决方法: 打开文件 yii\framework\web\aut

  • yii操作session实例简介

    本文简述了Yii框架中使用session的方法,具体步骤如下: 一.与标准php代码的区别: 在Yii框架中,你不需要像标准PHP代码那样使用session_start(), 在Yii框架中,autoStart 属性缺省被设置为true,所以, 虽然没有使用session_start(),你仍然可以使用$_SESSION全局变量,但最好使用Yii框架封装的Yii::app->session 二.session变量的使用: 设置session: Yii::app()->session['var'

  • 解析yii数据库的增删查改

    1. 存取数据库方法存储第一种存表时候用到例子: 复制代码 代码如下: $post=new Post;$post->title='samplepost';$post->content='content for thesample post';$post->createTime=time();/$post->createTime=newCDbexpression_r('NOW()');$post->save();$user_field_data= new user_field_

随机推荐