YII只存储最后一个闪存?
发布时间:2020-12-13 16:50:16 所属栏目:PHP教程 来源:网络整理
导读:我有以下代码: Yii::app()-user-setFlash('error',"Data1 failed!");Yii::app()-user-setFlash('error',"Data2 failed!");Yii::app()-user-setFlash('error',"Data3 failed!");$flashes = Yii::app()-user-getFlashes();if (sizeof($flashes) 0 ) { print '
我有以下代码:
Yii::app()->user->setFlash('error',"Data1 failed!"); Yii::app()->user->setFlash('error',"Data2 failed!"); Yii::app()->user->setFlash('error',"Data3 failed!"); $flashes = Yii::app()->user->getFlashes(); if (sizeof($flashes) > 0 ) { print '<div id="flashes" style="margin: 5px; ">'; foreach($flashes as $key => $message) { print '<div class="flash-' . $key . '">' . $message . "</div>n"; } print '</div>'; } 无论我做什么,它总是只打印“Data3失败!”.为什么用最后一个闪存覆盖闪烁,而不是将所有闪存添加到阵列中? 我在我的配置中试过这个但没有运气: 'user' => array( 'allowAutoLogin' => true,'class' => 'WebUser','autoUpdateFlash' => false,), 有任何想法吗? 解决方法
这是预期的行为. Yii flash消息是一个键值存储,这意味着每个键(比如错误)存储一个值(消息).
使用当前代码,您将在每次调用setFlash时用新消息覆盖错误键的值. 您可以(伪)将消息附加到相同的密钥,而不是覆盖它们: Yii::app()->user->setFlash('error',Yii::app()->user->getFlash('error','')." Data2 failed!"); Yii::app()->user->setFlash('error','')." Data3 failed!"); 从上面可以看到, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读