Yii2redis配置,跳转

YII2框架基于yii1.0 完全重写整个框架 :

因此以一个初学小白的身份 , 记录整个学习的过程,希望对自身有一个很好的提高 : 

1 . composer安装完成后 , 前后台找不到入口文件的问题 : 一度认为自己安装的有问题 , 结果 : [ 浪费了很多时间 ]
对于一些刚使用Yii2的同学可能刚下载advanced 版 在frontend/web/ 下找不到index.php 
解决:
在advanced目录下有个 init.bat 文件
双击运行,会出现一个dos窗口 输入 0(开发模式) 或 1(产品模式)
按回车 
再输入 yes 回车
这样就能生成入口文件了.

2 . 控制器输出变量到页面时 , 一定要记得是 return $this->render() ; 必须return

3 . 框架会自送生成验证表单的JS , 公共的common / models / LoginForm 只是为了验证表单和提交的数据 ! 如果js提示为英文 , 请在当前模块配置文件 : 比如backend/config / main.php 中添加 "language"=>"zh-CN" , 然后在LoginForm类中添加 

public function attributeLabels()
{
    return [
        'username'=>'用户名',
        'password'=>'密码',
        'rememberMe'=>'记住密码',
    ];
}

这样提示就会是中文 , 页面显示相关的也会是中文

4. redis遇到的大坑 : 
(1) 首先下载redis扩展文件
(2) 将文件放到yiisoft下并重新命名为yii-redis
(3) 在yiisoft / extensions.php 文件中添加 

'yiisoft/yii2-redis' =>
    array(
        'name'=>'yiisoft/yii2-redis/src',
        'version'=>'2.2.0.0',
        'alias'=>
        array(
            '@yii/redis'=>$vendorDir.'/yiisoft/yii2-redis/src',
        ),
    ),


这里一定要注意路径问题 , 百度到的配置路径只到yii2-redis 如 $vendorDir.'/yiisoft/yii2-redis' , 测试会出现类不存在的报错

Class yii\redis\Connection does not exist 

所以必须路径写到src
(4) common / config / main.php key为components下

'redis' => [
    'class' => 'yii\redis\Connection',
    'hostname'=>'localhost',
    'port'=>'端口',
    'database'=>1,
],

(5) 正常运行后发现一个问题 , 在框架中写入的键值 , 框架中读写都没问题 , 但是在linux服务器中使用原生的查看不到 , 继续研究 ! 
(6) reids数据找不到的问题是 database这个参数配置的问题 ! redis默认的库有16个[ 当然这个可以自己设置 如 databases 32] , 值为1,说明把数据写入到base1里面 , select num , 切换redis库 

5.  跳转遇到的问题 : 在init() 函数中 , 如果执行 redirect() 动作时 , 一定要加上 Yii::$app() ->end();否则程序是会继续执行的 , 在其他的方法中 , 直接return $this->redirect([ url]) 就可跳转 如 : 当用户没有登录时 , 从任何一个页面访问都会跳转到登录页面 : 这是如果将跳转写在init( ) 动作中 那么 :  

$this->redirect(['/login/login']);
Yii::$app->end();

应该这样 ! 如有不足请大家多多指教
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值