Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Silex从细枝模板重定向_Php_Symfony_Redirect_Twig_Silex - Fatal编程技术网

Php Silex从细枝模板重定向

Php Silex从细枝模板重定向,php,symfony,redirect,twig,silex,Php,Symfony,Redirect,Twig,Silex,首先,我知道这是一件可怕的事情,应该只在控制器逻辑中完成,但我正在尝试的是在Twig中创建一个定制的重定向标记来触发Silex重定向 我有一个自定义节点,可将以下内容输出到doDisplay模板中: return $this->getEnvironment()->getExtension('silex')->getApp()->redirect('/', 301); 基本上,这会得到Twig环境和我创建的扩展,它有一个getApp方法,返回Silex$app变量,该变量

首先,我知道这是一件可怕的事情,应该只在控制器逻辑中完成,但我正在尝试的是在Twig中创建一个定制的重定向标记来触发Silex重定向

我有一个自定义节点,可将以下内容输出到doDisplay模板中:

return $this->getEnvironment()->getExtension('silex')->getApp()->redirect('/', 301);
基本上,这会得到Twig环境和我创建的扩展,它有一个getApp方法,返回Silex$app变量,该变量包含重定向方法


但这只会将Array()返回到屏幕。有什么建议吗?

你要求做的是不可能的。如果已将
200
响应与细枝模板一起作为正文发送,则无法将
响应
对象发送到客户端。您可以将
meta
重定向标记插入页面或使用JS:

例如:

{% if somecondition %}
<script>window.location.href = {{yourRoute}}</script>
{% endif }
{%if somecondition%}
window.location.href={{yourRoute}
{%endif}

我认为您必须调用:$this['kernel]->terminate($request,$response);