如何在独立HttpFoundation组件中获取RedirectResponse的参数?
问题解答
首先要明确:RedirectResponse的第三个参数是HTTP响应头数组,不是用来传递给目标PHP页面的业务参数,所以你这么写的话,目标PHP文件根本拿不到这个params值。
要给目标PHP模板传递参数,有两种常用方案:
方案1:通过URL查询字符串传参
把参数拼在重定向的URL后面,作为GET参数:
return new RedirectResponse('path_to_php_file?params=sometext');
然后在目标PHP文件中直接通过$_GET全局数组获取:
$params = $_GET['params'] ?? '默认值';
方案2:直接渲染模板(非重定向)
如果你的"重定向"其实是内部跳转(不需要浏览器发起新请求),不要用RedirectResponse,而是用Response直接渲染模板并传递参数:
// 定义要传递的参数 $params = 'sometext'; // 开启输出缓冲渲染模板 ob_start(); // 引入模板文件,此时模板可直接使用$params变量 include 'path_to_php_file'; $content = ob_get_clean(); // 返回渲染后的响应 return new Response($content);
这种方式更符合MVC视图渲染的逻辑,也避免了额外的HTTP请求。
内容的提问来源于stack exchange,提问作者blsn
相关产品推荐
相关产品推荐

