Symfony: пытается извлечь переменную, сохраненную с помощью sfContext :: getInstance () - PullRequest
1 голос
/ 24 мая 2010

У меня есть эти методы в 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 "не существует в текущем контексте."

Есть идеи?

1010 * Javi *

1 Ответ

4 голосов
/ 24 мая 2010

Редирект говорит браузеру загрузить другую страницу, которая завершает текущее действие и приводит к новому запросу с новым контекстом.

Здесь есть три варианта:

  • Вы можете использовать forward , если хотите, чтобы module1/method2 был выполнен в результате первого запроса.
  • Вы можете использовать флэш-атрибут для передачи $a к следующему запросу.
  • Вы можете использовать атрибут сеанса , если $a должен дожить до следующего запроса.

РЕДАКТИРОВАТЬ: Вам также не нужен оператор return перед перенаправлением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...