Я в первый раз вызываю этот маршрут, где я ставлю в сессии 0:
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
После этого я вызываю другой метод, который выполняется 2 раза сервером:
public function index()
{
$this->session = $_SESSION['isFacebookRegistration'];
error_log(print_r($_SESSION['isFacebookRegistration'],true), 3, "/tmp/error.log");
$_SESSION['isFacebookRegistration'] = 3;
return $this->render('template/index.twig');
}
Вид:
{{ dump(session) }}
В консоли для $_SESSION['isFacebookRegistration']
, Я получил : 0 3
, Только в представлении 3
, Таким образом, вопрос в том, можно ли отправлять в поле зрения 0
и после этого изменить значение $_SESSION['isFacebookRegistration']
в 3? Я повторяю, что метод index () вызывается 2 раза сервером.
Ты нуждаешься в этом? Если я вас правильно понимаю, потому что мой английский не очень хорошо
private $flag = false;
public function index()
{
$this->session = $_SESSION['isFacebookRegistration'];
error_log(print_r($_SESSION['isFacebookRegistration'],true), 3, "/tmp/error.log");
if ($this->flag) {
$_SESSION['isFacebookRegistration'] = 3;
} else {
$this->flag = true;
}
return $this->render('template/index.twig');
}
Также вы можете передать дополнительный параметр (думаю, так будет лучше):
public function index($changeSessionValue = false)
{
$this->session = $_SESSION['isFacebookRegistration'];
error_log(print_r($_SESSION['isFacebookRegistration'],true), 3, "/tmp/error.log");
if ($changeSessionValue) {
$_SESSION['isFacebookRegistration'] = 3;
}
return $this->render('template/index.twig');
}
Других решений пока нет …