Symfony:尝试检索使用sfContext :: getInstance()保存的变量

时间:2010-05-24 10:37:46

标签: symfony1

我在module1 / actions / actions.class.php中有这些方法:

public function executeMethod1(sfWebRequest $request){

  $a = 10;

  sfContext::getInstance()->set('a', $a);
  return $this->redirect('module1/method2');

}

public function executeMethod2(sfWebRequest $request){

  echo sfContext::getInstance()->get('a');

}

当我执行module1 / method1时,我收到此错误:

“当前上下文中不存在”a“对象。”

有什么想法吗?

哈维

1 个答案:

答案 0 :(得分:4)

重定向告诉浏览器加载另一个页面,该页面终止当前操作并导致具有新上下文的新请求。

这里有三个选项:

  • 如果您希望module1/method2作为第一次请求的结果执行,则可以使用forward
  • 您可以使用flash attribute$a传递给下一个请求。
  • 如果$a必须超出下一个请求,您可以使用session attribute

编辑:在重定向之前,您不需要return语句。