сеанс — выполнить метод PHP один раз

Я в первый раз вызываю этот маршрут, где я ставлю в сессии 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 раза сервером.

-1

Решение

Ты нуждаешься в этом? Если я вас правильно понимаю, потому что мой английский не очень хорошо

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');
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]