Php 使用twig设置会话变量
我有个问题。我在我的站点上有一条路线,在其中我在会话中放置了如下变量:Php 使用twig设置会话变量,php,twig,php-5.3,php-5.4,twig-extension,Php,Twig,Php 5.3,Php 5.4,Twig Extension,我有个问题。我在我的站点上有一条路线,在其中我在会话中放置了如下变量: public function userCaptcha(){ $_SESSION['isFacebookRegistration'] = 0; } public function userCaptcha(){ $_SESSION['isFacebookRegistration'] = 0; } public function index(){ if (isset($_SESSION['flag
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
public function index(){
if (isset($_SESSION['flag'])) {
$_SESSION['isFacebookRegistration'] = 3;
}
$_SESSION['flag'] = true;
$this->session = $_SESSION;
return $this->render('template/index.twig');
}
现在我有了另一个渲染视图的路线:
public function index(){
$this->session = $_SESSION;
return $this->render('template/index.twig');
}
在索引模板中,我执行以下操作:
{{ dump(session.isFacebookRegistration) }}
{% set session = session|merge({'isFacebookRegistration' : 3}) %}
我访问第一条路由:userCaptcha()一次,但访问路由索引()两次,通常我需要看到第一次0和第二次3。但我只看到了2次0。你能帮我吗?这个想法是第一次显示0表示其余的3。Thx预先您不能在细枝端设置PHP变量。每次重新加载视图时,对变量所做的更改都将丢失。您可以尝试以下方法:
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
public function index(){
if (isset($_SESSION['flag'])) {
$_SESSION['isFacebookRegistration'] = 3;
}
$_SESSION['flag'] = true;
$this->session = $_SESSION;
return $this->render('template/index.twig');
}
这样,第一次执行index()不会更改
isFacebookRegistration
值,但会设置一个标志。下一次,条件将为true,isFacebookRegistration
将更改 不能在细枝端设置PHP变量。每次重新加载视图时,对变量所做的更改都将丢失。您可以尝试以下方法:
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
public function index(){
if (isset($_SESSION['flag'])) {
$_SESSION['isFacebookRegistration'] = 3;
}
$_SESSION['flag'] = true;
$this->session = $_SESSION;
return $this->render('template/index.twig');
}
这样,第一次执行index()不会更改isFacebookRegistration
值,但会设置一个标志。下一次,条件将为true,isFacebookRegistration
将更改