【发布时间】:2014-06-05 07:50:32
【问题描述】:
我想在用户离开特定控制器功能时执行特定任务。我有一个产品创建表单,在该表单中,我在函数顶部初始化了一个特定的会话变量。我希望在用户离开此功能时清除此会话变量。即
function actionCreate()
{
Yii::app()->user->setState('somevariable',1);//Setting a variable as the function is executed
//All other implementation goes here
}
现在我想要的是,当用户离开这个 actionCreate 方法并打开其他一些函数时,应该从会话中删除 somevariable 变量。
我知道我可以在其他函数的启动中删除该会话变量,但我必须在其他所有函数中都这样做,这将是乏味的。
有什么帮助吗? 谢谢。
【问题讨论】:
-
如果会话变量不打算在一个函数之外可见,您确定使用适合您的会话变量吗?
-
是的,我很确定。以这种形式,我通过 ajax 上传一些图片并将这些图片的名称推送到会话数组中。当使用提交按钮创建产品时,我从会话数组中拍照并将它们保存在产品 ID 中。现在的问题是,当表单验证失败时,图片会被清除,因为在创建函数开始时,我实际上是让图片会话数组为空。我希望当表单验证失败时应该保留这些会话图片文件名。
-
你试过
afterAction吗? yiiframework.com/doc/api/1.1/CController#afterAction-detail