魏曦教你学
- 魏曦教你学 2016-08-01 已签到连续签到1天,获得了5个金钱
- 魏曦教你学 2016-06-12 已签到连续签到1天,获得了5个金钱
- 魏曦教你学 赞了回答
首先配置一下缓存,自己选择是用文件缓存还是数据库缓存等。
'cache' => [ 'class' => 'yii\caching\FileCache', ],
然后就可以通过
Yii::$app->cache->set()
和Yii::$app->cache->get()
设置、获取缓存内容了。
下面是一个带缓存依赖的实例://表达式依赖 $dp = new ExpressionDependency([ 'expression' => 'count(Yii::$app->authManager->getPermissionsByUser(Yii::$app->user->id))' ]); //数据库依赖(sql) $dp2 = new DbDependency([ 'sql' => 'select max(updated_at) from auth_item', ]); //链式依赖(把以上2个依赖串起来,任何一个发生变化都会使缓存失效) Yii::$app->cache->set($key, $value, 0, new ChainedDependency([ 'dependencies' => [$dp, $dp2] ]));
- 魏曦教你学 2016-05-10 已签到连续签到1天,获得了5个金钱
- 魏曦教你学 2016-05-07 已签到连续签到1天,获得了5个金钱
- 魏曦教你学 2016-05-03 已签到连续签到1天,获得了5个金钱
- 魏曦教你学 2016-04-29 已签到连续签到1天,获得了5个金钱
请问在显示首页详细文章中actionDetail中,发表匿名评论的时候, 第一次是点击“发布”才可以发表评论成功,然后回到本页面,然后我F5刷新页面又会提交一次
$postModel = new Comment(); print_r(Yii::$app->request->post()); if ($postModel->load(Yii::$app->request->post())) { $postModel->status=Comment::STATUS_PENDING; $postModel->post_id=$id; if ($postModel->save()) { $this->added=1; } /* $this->redirect(['post/detail', 'id'=>$id]);*/ }
在一次提交评论后我打印post都有数据, 导致刷新页面都会提交评论(之前的评论);如果我redirect就不会提交重复评论,但是added之类的就显示不出来了
请问怎么解决这个问题试下 $this->redirect(['post/detail', 'id'=>$id, 'added'=>1]);印象中是可以传多个的。
请问在显示首页详细文章中actionDetail中,发表匿名评论的时候, 第一次是点击“发布”才可以发表评论成功,然后回到本页面,然后我F5刷新页面又会提交一次
$postModel = new Comment(); print_r(Yii::$app->request->post()); if ($postModel->load(Yii::$app->request->post())) { $postModel->status=Comment::STATUS_PENDING; $postModel->post_id=$id; if ($postModel->save()) { $this->added=1; } /* $this->redirect(['post/detail', 'id'=>$id]);*/ }
在一次提交评论后我打印post都有数据, 导致刷新页面都会提交评论(之前的评论);如果我redirect就不会提交重复评论,但是added之类的就显示不出来了
请问怎么解决这个问题可以把added的值一起带过去,这样可以避免重复提交。 不过要提醒你,这只是一个用来讲解yii的demo,如果要做一个可以使用的博客,可能需要太多地方修改,建议用一些成熟的开源程序来改,可能会好一点。
- 魏曦教你学 2016-04-27 已签到连续签到1天,获得了5个金钱